From fd6823d3f6e202dee5f96f7a621d9af33c7e711d Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 27 Jul 2026 11:35:15 -0700 Subject: [PATCH 1/4] test push --- .../lint/DesugaredMethodsList.java | 90 + .../lint/DesugaredMethodsListCommand.java | 194 + .../ir/desugar/desugaredlibrary/lint/a.java | 38 + .../ir/desugar/desugaredlibrary/lint/b.java | 19 + .../ir/desugar/desugaredlibrary/lint/c.java | 17 + .../ir/desugar/desugaredlibrary/lint/d.java | 21 + .../ir/desugar/desugaredlibrary/lint/e.java | 131 + .../ir/desugar/desugaredlibrary/lint/f.java | 86 + .../ir/desugar/desugaredlibrary/lint/g.java | 119 + .../ir/desugar/desugaredlibrary/lint/h.java | 174 + .../ir/desugar/desugaredlibrary/lint/i.java | 33 + .../ir/desugar/desugaredlibrary/lint/j.java | 88 + .../ir/desugar/desugaredlibrary/lint/k.java | 151 + .../ir/desugar/desugaredlibrary/lint/l.java | 51 + .../ir/desugar/desugaredlibrary/lint/m.java | 162 + .../ir/desugar/desugaredlibrary/lint/n.java | 76 + .../ir/desugar/desugaredlibrary/lint/o.java | 463 ++ .../varhandle/VarHandleDesugaringMethods.java | 3168 ++++++++++ .../com/android/tools/r8/ir/optimize/A.java | 20 + .../com/android/tools/r8/ir/optimize/A0.java | 13 + .../com/android/tools/r8/ir/optimize/B.java | 6 + .../com/android/tools/r8/ir/optimize/B0.java | 16 + .../com/android/tools/r8/ir/optimize/C.java | 6 + .../com/android/tools/r8/ir/optimize/C0.java | 24 + .../com/android/tools/r8/ir/optimize/D.java | 19 + .../com/android/tools/r8/ir/optimize/D0.java | 19 + .../com/android/tools/r8/ir/optimize/E.java | 14 + .../com/android/tools/r8/ir/optimize/E0.java | 74 + .../com/android/tools/r8/ir/optimize/F.java | 146 + .../com/android/tools/r8/ir/optimize/F0.java | 172 + .../com/android/tools/r8/ir/optimize/G.java | 29 + .../com/android/tools/r8/ir/optimize/G0.java | 10 + .../com/android/tools/r8/ir/optimize/H.java | 358 ++ .../com/android/tools/r8/ir/optimize/H0.java | 15 + .../com/android/tools/r8/ir/optimize/I.java | 38 + .../com/android/tools/r8/ir/optimize/I0.java | 293 + .../com/android/tools/r8/ir/optimize/J.java | 14 + .../com/android/tools/r8/ir/optimize/J0.java | 19 + .../com/android/tools/r8/ir/optimize/K.java | 94 + .../com/android/tools/r8/ir/optimize/L.java | 30 + .../com/android/tools/r8/ir/optimize/M.java | 217 + .../com/android/tools/r8/ir/optimize/N.java | 22 + .../com/android/tools/r8/ir/optimize/O.java | 95 + .../com/android/tools/r8/ir/optimize/P.java | 31 + .../com/android/tools/r8/ir/optimize/Q.java | 5259 +++++++++++++++++ .../com/android/tools/r8/ir/optimize/S.java | 9 + .../com/android/tools/r8/ir/optimize/T.java | 21 + .../com/android/tools/r8/ir/optimize/U.java | 16 + .../com/android/tools/r8/ir/optimize/V.java | 6 + .../com/android/tools/r8/ir/optimize/W.java | 404 ++ .../com/android/tools/r8/ir/optimize/X.java | 36 + .../com/android/tools/r8/ir/optimize/Y.java | 84 + .../com/android/tools/r8/ir/optimize/Z.java | 44 + .../android/tools/r8/ir/optimize/info/A.java | 6 + .../r8/ir/optimize/info/AbstractC3679a.java | 26 + .../r8/ir/optimize/info/AbstractC3683e.java | 21 + .../android/tools/r8/ir/optimize/info/B.java | 135 + .../android/tools/r8/ir/optimize/info/C.java | 404 ++ .../tools/r8/ir/optimize/info/C3680b.java | 169 + .../tools/r8/ir/optimize/info/C3681c.java | 47 + .../tools/r8/ir/optimize/info/C3682d.java | 192 + .../android/tools/r8/ir/optimize/info/D.java | 62 + .../android/tools/r8/ir/optimize/info/E.java | 7 + .../android/tools/r8/ir/optimize/info/f.java | 7 + .../android/tools/r8/ir/optimize/info/g.java | 19 + .../android/tools/r8/ir/optimize/info/h.java | 87 + .../android/tools/r8/ir/optimize/info/i.java | 15 + .../android/tools/r8/ir/optimize/info/j.java | 375 ++ .../android/tools/r8/ir/optimize/info/k.java | 27 + .../android/tools/r8/ir/optimize/info/l.java | 219 + .../android/tools/r8/ir/optimize/info/m.java | 19 + .../android/tools/r8/ir/optimize/info/n.java | 200 + .../android/tools/r8/ir/optimize/info/o.java | 13 + .../android/tools/r8/ir/optimize/info/p.java | 58 + .../android/tools/r8/ir/optimize/info/q.java | 39 + .../android/tools/r8/ir/optimize/info/r.java | 10 + .../android/tools/r8/ir/optimize/info/s.java | 22 + .../android/tools/r8/ir/optimize/info/t.java | 75 + .../android/tools/r8/ir/optimize/info/u.java | 71 + .../android/tools/r8/ir/optimize/info/v.java | 80 + .../android/tools/r8/ir/optimize/info/w.java | 556 ++ .../android/tools/r8/ir/optimize/info/x.java | 39 + .../android/tools/r8/ir/optimize/info/y.java | 47 + .../android/tools/r8/ir/optimize/info/z.java | 338 ++ .../WhyAreYouNotInliningDiagnostic.java | 32 + .../com/android/tools/r8/ir/optimize/k0.java | 277 + .../com/android/tools/r8/ir/optimize/l0.java | 32 + .../com/android/tools/r8/ir/optimize/m0.java | 14 + .../com/android/tools/r8/ir/optimize/n0.java | 35 + .../com/android/tools/r8/ir/optimize/o0.java | 95 + .../com/android/tools/r8/ir/optimize/p0.java | 375 ++ .../com/android/tools/r8/ir/optimize/r.java | 42 + .../base/sources/com/google/blocks/R.java | 2985 ++++++++++ .../IOExceptionWithUserVisibleMessage.java | 10 + .../ProgrammingWebHandlers.java | 670 +++ .../hardware/HardwareItem.java | 49 + .../hardware/HardwareItemMap.java | 197 + .../hardware/HardwareType.java | 183 + .../hardware/HardwareUtil.java | 2565 ++++++++ .../ftcrobotcontroller/onbotjava/R.java | 2985 ++++++++++ .../runtime/AccelerationAccess.java | 222 + .../runtime/AccelerationSensorAccess.java | 113 + .../ftcrobotcontroller/runtime/Access.java | 211 + .../runtime/AnalogInputAccess.java | 48 + .../runtime/AndroidAccelerometerAccess.java | 159 + .../runtime/AndroidGyroscopeAccess.java | 159 + .../runtime/AndroidOrientationAccess.java | 173 + .../runtime/AndroidSoundPoolAccess.java | 187 + .../runtime/AndroidTextToSpeechAccess.java | 187 + .../runtime/AndyMarkColorSensorAccess.java | 302 + .../AndyMarkIMUOrientationOnRobotAccess.java | 109 + .../runtime/AngularVelocityAccess.java | 234 + .../runtime/AprilTagAccess.java | 827 +++ .../runtime/BNO055IMUAccess.java | 595 ++ .../runtime/BNO055IMUParametersAccess.java | 459 ++ .../runtime/BlackboardAccess.java | 260 + .../runtime/BlinkinPatternAccess.java | 128 + .../ftcrobotcontroller/runtime/Block.java | 21 + .../ftcrobotcontroller/runtime/BlockType.java | 11 + .../runtime/BlocksOpMode.java | 596 ++ .../runtime/CRServoAccess.java | 138 + .../runtime/ColorAccess.java | 273 + .../runtime/ColorBlobLocatorAccess.java | 515 ++ .../runtime/ColorRangeSensorAccess.java | 294 + .../runtime/ColorSensorAccess.java | 308 + .../runtime/CompassSensorAccess.java | 67 + .../runtime/DbgLogAccess.java | 43 + .../runtime/DcMotorAccess.java | 801 +++ .../runtime/DigitalChannelAccess.java | 87 + .../runtime/DistanceSensorAccess.java | 39 + .../runtime/ElapsedTimeAccess.java | 252 + .../runtime/ExposureControlAccess.java | 239 + .../runtime/FocusControlAccess.java | 188 + .../runtime/GainControlAccess.java | 99 + .../runtime/GamepadAccess.java | 1822 ++++++ .../runtime/GoBildaPinpointAccess.java | 606 ++ .../runtime/GyroSensorAccess.java | 435 ++ .../runtime/HardwareAccess.java | 106 + .../runtime/HuskyLensAccess.java | 126 + .../ftcrobotcontroller/runtime/ImuAccess.java | 138 + .../runtime/ImuParametersAccess.java | 37 + .../runtime/IrSeekerSensorAccess.java | 211 + .../runtime/LLResultAccess.java | 81 + .../runtime/LLStatusAccess.java | 57 + .../ftcrobotcontroller/runtime/LedAccess.java | 80 + .../runtime/LedEffectAccess.java | 84 + .../runtime/LightSensorAccess.java | 80 + .../runtime/Limelight3AAccess.java | 252 + .../runtime/LinearOpModeAccess.java | 191 + .../runtime/MagneticFluxAccess.java | 146 + .../runtime/MatrixFAccess.java | 674 +++ .../runtime/MaxSonarI2CXLAccess.java | 193 + .../runtime/MiscAccess.java | 516 ++ .../runtime/MrI2cCompassSensorAccess.java | 288 + .../runtime/MrI2cRangeSensorAccess.java | 226 + .../runtime/NavigationAccess.java | 108 + .../runtime/OctoQuadAccess.java | 523 ++ .../runtime/OpenGLMatrixAccess.java | 413 ++ .../runtime/OpencvAccess.java | 138 + .../runtime/OpticalDistanceSensorAccess.java | 81 + .../runtime/OrientationAccess.java | 403 ++ .../runtime/PIDFCoefficientsAccess.java | 311 + .../runtime/Pose2DAccess.java | 128 + .../runtime/PositionAccess.java | 191 + .../runtime/PredominantColorAccess.java | 126 + .../runtime/PtzControlAccess.java | 182 + .../runtime/QuaternionAccess.java | 253 + .../runtime/RangeAccess.java | 43 + .../Rev9AxisImuOrientationOnRobotAccess.java | 109 + .../runtime/RevBlinkinLedDriverAccess.java | 35 + .../RevHubOrientationOnRobotAccess.java | 109 + .../runtime/RumbleEffectAccess.java | 71 + .../runtime/ServoAccess.java | 153 + .../runtime/ServoControllerAccess.java | 68 + .../runtime/SparkFunLEDStickAccess.java | 120 + .../runtime/SparkFunOTOSAccess.java | 566 ++ .../runtime/SystemAccess.java | 40 + .../runtime/TelemetryAccess.java | 197 + .../runtime/TemperatureAccess.java | 143 + .../runtime/TouchSensorAccess.java | 34 + .../runtime/UltrasonicSensorAccess.java | 32 + .../runtime/VectorFAccess.java | 363 ++ .../runtime/VelocityAccess.java | 195 + .../runtime/VisionPortalAccess.java | 713 +++ .../runtime/VoltageSensorAccess.java | 32 + .../runtime/WhiteBalanceControlAccess.java | 145 + .../runtime/YawPitchRollAnglesAccess.java | 150 + .../runtime/obsolete/TensorFlowAccess.java | 133 + .../runtime/obsolete/TfodAccess.java | 84 + .../runtime/obsolete/TfodBaseAccess.java | 54 + .../obsolete/TfodCurrentGameAccess.java | 59 + .../obsolete/TfodCustomModelAccess.java | 70 + .../obsolete/TfodRoverRuckusAccess.java | 59 + .../runtime/obsolete/TfodSkyStoneAccess.java | 59 + .../runtime/obsolete/VuforiaBaseAccess.java | 66 + .../obsolete/VuforiaCurrentGameAccess.java | 71 + .../obsolete/VuforiaLocalizerAccess.java | 31 + .../VuforiaLocalizerParametersAccess.java | 101 + .../obsolete/VuforiaRelicRecoveryAccess.java | 82 + .../obsolete/VuforiaRoverRuckusAccess.java | 71 + .../obsolete/VuforiaSkyStoneAccess.java | 71 + .../obsolete/VuforiaTrackableAccess.java | 58 + ...VuforiaTrackableDefaultListenerAccess.java | 47 + .../obsolete/VuforiaTrackablesAccess.java | 52 + .../util/AvailableTtsLocalesProvider.java | 38 + .../util/BlocksArchive.java | 37 + .../util/BlocksProject.java | 26 + .../util/ClipboardUtil.java | 22 + .../util/CorruptFileException.java | 14 + .../ftcrobotcontroller/util/CurrentGame.java | 10 + .../ftcrobotcontroller/util/FileManager.java | 121 + .../ftcrobotcontroller/util/FileUtil.java | 109 + .../ftcrobotcontroller/util/Identifier.java | 88 + .../util/OfflineBlocksProject.java | 27 + .../util/OfflineBlocksUtil.java | 336 ++ .../util/ProjectsLockManager.java | 28 + .../ftcrobotcontroller/util/ProjectsUtil.java | 874 +++ .../util/ToolboxFolder.java | 14 + .../ftcrobotcontroller/util/ToolboxIcon.java | 32 + .../ftcrobotcontroller/util/ToolboxUtil.java | 145 + .../google/gson/DefaultDateTypeAdapter.java | 93 + .../com/google/gson/ExclusionStrategy.java | 8 + .../com/google/gson/FieldAttributes.java | 54 + .../com/google/gson/FieldNamingPolicy.java | 76 + .../com/google/gson/FieldNamingStrategy.java | 8 + .../base/sources/com/google/gson/Gson.java | 571 ++ .../sources/com/google/gson/GsonBuilder.java | 194 + .../com/google/gson/InstanceCreator.java | 8 + .../sources/com/google/gson/JsonArray.java | 182 + .../gson/JsonDeserializationContext.java | 8 + .../com/google/gson/JsonDeserializer.java | 8 + .../sources/com/google/gson/JsonElement.java | 121 + .../com/google/gson/JsonIOException.java | 18 + .../sources/com/google/gson/JsonNull.java | 24 + .../sources/com/google/gson/JsonObject.java | 87 + .../com/google/gson/JsonParseException.java | 18 + .../sources/com/google/gson/JsonParser.java | 49 + .../com/google/gson/JsonPrimitive.java | 204 + .../google/gson/JsonSerializationContext.java | 10 + .../com/google/gson/JsonSerializer.java | 8 + .../com/google/gson/JsonStreamParser.java | 74 + .../com/google/gson/JsonSyntaxException.java | 18 + .../google/gson/LongSerializationPolicy.java | 19 + .../sources/com/google/gson/TypeAdapter.java | 86 + .../com/google/gson/TypeAdapterFactory.java | 8 + .../com/google/gson/annotations/Expose.java | 17 + .../google/gson/annotations/JsonAdapter.java | 15 + .../gson/annotations/SerializedName.java | 17 + .../com/google/gson/annotations/Since.java | 15 + .../com/google/gson/annotations/Until.java | 15 + .../rawcollections/RawCollectionsExample.java | 41 + .../gson/graph/GraphAdapterBuilder.java | 212 + .../google/gson/interceptors/Intercept.java | 13 + .../gson/interceptors/InterceptorFactory.java | 49 + .../interceptors/JsonPostDeserializer.java | 6 + .../gson/internal/C$Gson$Preconditions.java | 22 + .../google/gson/internal/C$Gson$Types.java | 439 ++ .../gson/internal/ConstructorConstructor.java | 202 + .../com/google/gson/internal/Excluder.java | 203 + .../internal/JsonReaderInternalAccess.java | 11 + .../gson/internal/LazilyParsedNumber.java | 68 + .../gson/internal/LinkedHashTreeMap.java | 763 +++ .../google/gson/internal/LinkedTreeMap.java | 576 ++ .../gson/internal/ObjectConstructor.java | 6 + .../com/google/gson/internal/Primitives.java | 55 + .../com/google/gson/internal/Streams.java | 99 + .../google/gson/internal/UnsafeAllocator.java | 74 + .../gson/internal/bind/ArrayTypeAdapter.java | 73 + .../bind/CollectionTypeAdapterFactory.java | 78 + .../gson/internal/bind/DateTypeAdapter.java | 68 + ...onAdapterAnnotationTypeAdapterFactory.java | 48 + .../gson/internal/bind/JsonTreeReader.java | 332 ++ .../gson/internal/bind/JsonTreeWriter.java | 201 + .../internal/bind/MapTypeAdapterFactory.java | 168 + .../gson/internal/bind/ObjectTypeAdapter.java | 82 + .../bind/ReflectiveTypeAdapterFactory.java | 245 + .../internal/bind/SqlDateTypeAdapter.java | 49 + .../gson/internal/bind/TimeTypeAdapter.java | 50 + .../gson/internal/bind/TreeTypeAdapter.java | 136 + .../bind/TypeAdapterRuntimeTypeWrapper.java | 55 + .../gson/internal/bind/TypeAdapters.java | 987 ++++ .../gson/internal/bind/util/ISO8601Utils.java | 126 + .../com/google/gson/reflect/TypeToken.java | 189 + .../com/google/gson/stream/JsonReader.java | 1193 ++++ .../com/google/gson/stream/JsonScope.java | 16 + .../com/google/gson/stream/JsonToken.java | 15 + .../com/google/gson/stream/JsonWriter.java | 383 ++ .../gson/stream/MalformedJsonException.java | 21 + .../PostConstructAdapterFactory.java | 64 + .../RuntimeTypeAdapterFactory.java | 108 + .../gson/typeadapters/UtcDateTypeAdapter.java | 136 + .../com/google/zxing/BarcodeFormat.java | 22 + .../sources/com/google/zxing/Binarizer.java | 31 + .../com/google/zxing/BinaryBitmap.java | 67 + .../com/google/zxing/ChecksumException.java | 27 + .../com/google/zxing/DecodeHintType.java | 28 + .../sources/com/google/zxing/Dimension.java | 39 + .../com/google/zxing/EncodeHintType.java | 18 + .../com/google/zxing/FormatException.java | 27 + .../google/zxing/InvertedLuminanceSource.java | 62 + .../com/google/zxing/LuminanceSource.java | 78 + .../com/google/zxing/MultiFormatReader.java | 110 + .../com/google/zxing/MultiFormatWriter.java | 74 + .../com/google/zxing/NotFoundException.java | 19 + .../zxing/PlanarYUVLuminanceSource.java | 120 + .../com/google/zxing/RGBLuminanceSource.java | 87 + .../base/sources/com/google/zxing/Reader.java | 12 + .../com/google/zxing/ReaderException.java | 24 + .../base/sources/com/google/zxing/Result.java | 96 + .../com/google/zxing/ResultMetadataType.java | 16 + .../sources/com/google/zxing/ResultPoint.java | 78 + .../com/google/zxing/ResultPointCallback.java | 6 + .../base/sources/com/google/zxing/Writer.java | 11 + .../com/google/zxing/WriterException.java | 15 + .../zxing/aztec/AztecDetectorResult.java | 31 + .../com/google/zxing/aztec/AztecReader.java | 99 + .../com/google/zxing/aztec/AztecWriter.java | 76 + .../google/zxing/aztec/decoder/Decoder.java | 305 + .../google/zxing/aztec/detector/Detector.java | 360 ++ .../google/zxing/aztec/encoder/AztecCode.java | 52 + .../zxing/aztec/encoder/BinaryShiftToken.java | 36 + .../google/zxing/aztec/encoder/Encoder.java | 315 + .../zxing/aztec/encoder/HighLevelEncoder.java | 193 + .../zxing/aztec/encoder/SimpleToken.java | 25 + .../com/google/zxing/aztec/encoder/State.java | 119 + .../com/google/zxing/aztec/encoder/Token.java | 27 + .../client/android/AmbientLightManager.java | 75 + .../zxing/client/android/BeepManager.java | 101 + .../zxing/client/android/BuildConfig.java | 8 + .../client/android/DecodeFormatManager.java | 66 + .../client/android/DecodeHintManager.java | 162 + .../zxing/client/android/InactivityTimer.java | 91 + .../google/zxing/client/android/Intents.java | 45 + .../com/google/zxing/client/android/R.java | 315 + .../camera/open/OpenCameraInterface.java | 50 + .../result/AbstractDoCoMoResultParser.java | 15 + .../result/AddressBookAUResultParser.java | 39 + .../result/AddressBookDoCoMoResultParser.java | 37 + .../result/AddressBookParsedResult.java | 140 + .../client/result/BizcardResultParser.java | 52 + .../result/BookmarkDoCoMoResultParser.java | 24 + .../client/result/CalendarParsedResult.java | 182 + .../result/EmailAddressParsedResult.java | 67 + .../result/EmailAddressResultParser.java | 72 + .../result/EmailDoCoMoResultParser.java | 30 + .../result/ExpandedProductParsedResult.java | 121 + .../result/ExpandedProductResultParser.java | 57 + .../zxing/client/result/GeoParsedResult.java | 71 + .../zxing/client/result/GeoResultParser.java | 44 + .../zxing/client/result/ISBNParsedResult.java | 20 + .../zxing/client/result/ISBNResultParser.java | 22 + .../zxing/client/result/ParsedResult.java | 37 + .../zxing/client/result/ParsedResultType.java | 17 + .../client/result/ProductParsedResult.java | 30 + .../client/result/ProductResultParser.java | 27 + .../zxing/client/result/ResultParser.java | 192 + .../client/result/SMSMMSResultParser.java | 66 + .../zxing/client/result/SMSParsedResult.java | 85 + .../client/result/SMSTOMMSTOResultParser.java | 22 + .../zxing/client/result/SMTPResultParser.java | 28 + .../zxing/client/result/TelParsedResult.java | 35 + .../zxing/client/result/TelResultParser.java | 18 + .../zxing/client/result/TextParsedResult.java | 26 + .../zxing/client/result/URIParsedResult.java | 53 + .../zxing/client/result/URIResultParser.java | 42 + .../client/result/URLTOResultParser.java | 18 + .../client/result/VCardResultParser.java | 350 ++ .../client/result/VEventResultParser.java | 85 + .../zxing/client/result/VINParsedResult.java | 78 + .../zxing/client/result/VINResultParser.java | 184 + .../zxing/client/result/WifiParsedResult.java | 75 + .../zxing/client/result/WifiResultParser.java | 43 + .../com/google/zxing/common/BitArray.java | 263 + .../com/google/zxing/common/BitMatrix.java | 330 ++ .../com/google/zxing/common/BitSource.java | 60 + .../google/zxing/common/CharacterSetECI.java | 83 + .../google/zxing/common/DecoderResult.java | 91 + .../zxing/common/DefaultGridSampler.java | 41 + .../google/zxing/common/DetectorResult.java | 22 + .../common/GlobalHistogramBinarizer.java | 149 + .../com/google/zxing/common/GridSampler.java | 72 + .../google/zxing/common/HybridBinarizer.java | 198 + .../zxing/common/PerspectiveTransform.java | 90 + .../com/google/zxing/common/StringUtils.java | 35 + .../zxing/common/detector/MathUtils.java | 31 + .../detector/MonochromeRectangleDetector.java | 175 + .../detector/WhiteRectangleDetector.java | 223 + .../zxing/common/reedsolomon/GenericGF.java | 113 + .../common/reedsolomon/GenericGFPoly.java | 206 + .../reedsolomon/ReedSolomonDecoder.java | 118 + .../reedsolomon/ReedSolomonEncoder.java | 47 + .../reedsolomon/ReedSolomonException.java | 8 + .../zxing/datamatrix/DataMatrixReader.java | 106 + .../zxing/datamatrix/DataMatrixWriter.java | 137 + .../datamatrix/decoder/BitMatrixParser.java | 356 ++ .../zxing/datamatrix/decoder/DataBlock.java | 76 + .../decoder/DecodedBitStreamParser.java | 455 ++ .../zxing/datamatrix/decoder/Decoder.java | 55 + .../zxing/datamatrix/decoder/Version.java | 139 + .../zxing/datamatrix/detector/Detector.java | 254 + .../datamatrix/encoder/ASCIIEncoder.java | 64 + .../datamatrix/encoder/Base256Encoder.java | 59 + .../zxing/datamatrix/encoder/C40Encoder.java | 140 + .../encoder/DataMatrixSymbolInfo144.java | 23 + .../datamatrix/encoder/DefaultPlacement.java | 172 + .../datamatrix/encoder/EdifactEncoder.java | 121 + .../zxing/datamatrix/encoder/Encoder.java | 8 + .../datamatrix/encoder/EncoderContext.java | 117 + .../datamatrix/encoder/ErrorCorrection.java | 110 + .../datamatrix/encoder/HighLevelEncoder.java | 190 + .../zxing/datamatrix/encoder/SymbolInfo.java | 150 + .../datamatrix/encoder/SymbolShapeHint.java | 8 + .../zxing/datamatrix/encoder/TextEncoder.java | 65 + .../zxing/datamatrix/encoder/X12Encoder.java | 74 + .../integration/android/IntentIntegrator.java | 249 + .../integration/android/IntentResult.java | 65 + .../google/zxing/maxicode/MaxiCodeReader.java | 67 + .../maxicode/decoder/BitMatrixParser.java | 71 + .../decoder/DecodedBitStreamParser.java | 219 + .../zxing/maxicode/decoder/Decoder.java | 70 + .../google/zxing/multi/ByQuadrantReader.java | 74 + .../multi/GenericMultipleBarcodeReader.java | 145 + .../zxing/multi/MultipleBarcodeReader.java | 14 + .../zxing/multi/qrcode/QRCodeMultiReader.java | 115 + .../multi/qrcode/detector/MultiDetector.java | 42 + .../detector/MultiFinderPatternFinder.java | 251 + .../com/google/zxing/oned/CodaBarReader.java | 325 + .../com/google/zxing/oned/CodaBarWriter.java | 110 + .../com/google/zxing/oned/Code128Reader.java | 109 + .../com/google/zxing/oned/Code128Writer.java | 211 + .../com/google/zxing/oned/Code39Reader.java | 256 + .../com/google/zxing/oned/Code39Writer.java | 137 + .../com/google/zxing/oned/Code93Reader.java | 238 + .../com/google/zxing/oned/Code93Writer.java | 149 + .../com/google/zxing/oned/EAN13Reader.java | 57 + .../com/google/zxing/oned/EAN13Writer.java | 58 + .../com/google/zxing/oned/EAN8Reader.java | 40 + .../com/google/zxing/oned/EAN8Writer.java | 53 + .../zxing/oned/EANManufacturerOrgSupport.java | 146 + .../com/google/zxing/oned/ITFReader.java | 186 + .../com/google/zxing/oned/ITFWriter.java | 46 + .../zxing/oned/MultiFormatOneDReader.java | 83 + .../zxing/oned/MultiFormatUPCEANReader.java | 151 + .../com/google/zxing/oned/OneDReader.java | 233 + .../zxing/oned/OneDimensionalCodeWriter.java | 90 + .../com/google/zxing/oned/UPCAReader.java | 58 + .../com/google/zxing/oned/UPCAWriter.java | 25 + .../zxing/oned/UPCEANExtension2Support.java | 72 + .../zxing/oned/UPCEANExtension5Support.java | 198 + .../zxing/oned/UPCEANExtensionSupport.java | 25 + .../com/google/zxing/oned/UPCEANReader.java | 237 + .../com/google/zxing/oned/UPCEANWriter.java | 9 + .../com/google/zxing/oned/UPCEReader.java | 102 + .../com/google/zxing/oned/UPCEWriter.java | 58 + .../zxing/oned/rss/AbstractRSSReader.java | 106 + .../google/zxing/oned/rss/DataCharacter.java | 36 + .../google/zxing/oned/rss/FinderPattern.java | 40 + .../com/google/zxing/oned/rss/Pair.java | 24 + .../google/zxing/oned/rss/RSS14Reader.java | 373 ++ .../com/google/zxing/oned/rss/RSSUtils.java | 68 + .../oned/rss/expanded/BitArrayBuilder.java | 47 + .../zxing/oned/rss/expanded/ExpandedPair.java | 50 + .../zxing/oned/rss/expanded/ExpandedRow.java | 45 + .../oned/rss/expanded/RSSExpandedReader.java | 577 ++ .../expanded/decoders/AI013103decoder.java | 20 + .../expanded/decoders/AI01320xDecoder.java | 27 + .../expanded/decoders/AI01392xDecoder.java | 31 + .../expanded/decoders/AI01393xDecoder.java | 40 + .../expanded/decoders/AI013x0x1xDecoder.java | 70 + .../expanded/decoders/AI013x0xDecoder.java | 25 + .../expanded/decoders/AI01AndOtherAIs.java | 25 + .../rss/expanded/decoders/AI01decoder.java | 48 + .../expanded/decoders/AI01weightDecoder.java | 28 + .../decoders/AbstractExpandedDecoder.java | 70 + .../rss/expanded/decoders/AnyAIDecoder.java | 20 + .../expanded/decoders/BlockParsedResult.java | 24 + .../decoders/CurrentParsingState.java | 52 + .../rss/expanded/decoders/DecodedChar.java | 20 + .../expanded/decoders/DecodedInformation.java | 34 + .../rss/expanded/decoders/DecodedNumeric.java | 39 + .../rss/expanded/decoders/DecodedObject.java | 14 + .../rss/expanded/decoders/FieldParser.java | 92 + .../decoders/GeneralAppIdDecoder.java | 384 ++ .../com/google/zxing/pdf417/PDF417Common.java | 61 + .../com/google/zxing/pdf417/PDF417Reader.java | 95 + .../zxing/pdf417/PDF417ResultMetadata.java | 106 + .../com/google/zxing/pdf417/PDF417Writer.java | 114 + .../zxing/pdf417/decoder/BarcodeMetadata.java | 38 + .../zxing/pdf417/decoder/BarcodeValue.java | 43 + .../zxing/pdf417/decoder/BoundingBox.java | 144 + .../google/zxing/pdf417/decoder/Codeword.java | 62 + .../decoder/DecodedBitStreamParser.java | 554 ++ .../zxing/pdf417/decoder/DetectionResult.java | 257 + .../pdf417/decoder/DetectionResultColumn.java | 85 + .../DetectionResultRowIndicatorColumn.java | 200 + .../pdf417/decoder/PDF417CodewordDecoder.java | 107 + .../pdf417/decoder/PDF417ScanningDecoder.java | 683 +++ .../pdf417/decoder/ec/ErrorCorrection.java | 115 + .../zxing/pdf417/decoder/ec/ModulusGF.java | 86 + .../zxing/pdf417/decoder/ec/ModulusPoly.java | 188 + .../zxing/pdf417/detector/Detector.java | 245 + .../pdf417/detector/PDF417DetectorResult.java | 24 + .../zxing/pdf417/encoder/BarcodeMatrix.java | 48 + .../zxing/pdf417/encoder/BarcodeRow.java | 35 + .../zxing/pdf417/encoder/Compaction.java | 9 + .../zxing/pdf417/encoder/Dimensions.java | 32 + .../google/zxing/pdf417/encoder/PDF417.java | 172 + .../pdf417/encoder/PDF417ErrorCorrection.java | 68 + .../encoder/PDF417HighLevelEncoder.java | 392 ++ .../com/google/zxing/qrcode/QRCodeReader.java | 168 + .../com/google/zxing/qrcode/QRCodeWriter.java | 86 + .../zxing/qrcode/decoder/BitMatrixParser.java | 166 + .../zxing/qrcode/decoder/DataBlock.java | 78 + .../google/zxing/qrcode/decoder/DataMask.java | 67 + .../decoder/DecodedBitStreamParser.java | 316 + .../google/zxing/qrcode/decoder/Decoder.java | 105 + .../qrcode/decoder/ErrorCorrectionLevel.java | 27 + .../qrcode/decoder/FormatInformation.java | 71 + .../com/google/zxing/qrcode/decoder/Mode.java | 73 + .../qrcode/decoder/QRCodeDecoderMetaData.java | 25 + .../google/zxing/qrcode/decoder/Version.java | 166 + .../qrcode/detector/AlignmentPattern.java | 28 + .../detector/AlignmentPatternFinder.java | 164 + .../zxing/qrcode/detector/Detector.java | 246 + .../zxing/qrcode/detector/FinderPattern.java | 43 + .../qrcode/detector/FinderPatternFinder.java | 495 ++ .../qrcode/detector/FinderPatternInfo.java | 26 + .../zxing/qrcode/encoder/BlockPair.java | 20 + .../zxing/qrcode/encoder/ByteMatrix.java | 73 + .../google/zxing/qrcode/encoder/Encoder.java | 426 ++ .../google/zxing/qrcode/encoder/MaskUtil.java | 157 + .../zxing/qrcode/encoder/MatrixUtil.java | 247 + .../google/zxing/qrcode/encoder/QRCode.java | 80 + .../com/sun/source/doctree/AttributeTree.java | 24 + .../com/sun/source/doctree/AuthorTree.java | 10 + .../com/sun/source/doctree/BlockTagTree.java | 9 + .../com/sun/source/doctree/CommentTree.java | 9 + .../sun/source/doctree/DeprecatedTree.java | 10 + .../sun/source/doctree/DocCommentTree.java | 14 + .../com/sun/source/doctree/DocRootTree.java | 8 + .../com/sun/source/doctree/DocTree.java | 57 + .../sun/source/doctree/DocTreeVisitor.java | 65 + .../sun/source/doctree/EndElementTree.java | 10 + .../com/sun/source/doctree/EntityTree.java | 10 + .../com/sun/source/doctree/ErroneousTree.java | 11 + .../sun/source/doctree/IdentifierTree.java | 10 + .../sun/source/doctree/InheritDocTree.java | 8 + .../com/sun/source/doctree/InlineTagTree.java | 9 + .../com/sun/source/doctree/LinkTree.java | 12 + .../com/sun/source/doctree/LiteralTree.java | 9 + .../com/sun/source/doctree/ParamTree.java | 14 + .../com/sun/source/doctree/ReferenceTree.java | 9 + .../com/sun/source/doctree/ReturnTree.java | 10 + .../com/sun/source/doctree/SeeTree.java | 10 + .../sun/source/doctree/SerialDataTree.java | 10 + .../sun/source/doctree/SerialFieldTree.java | 14 + .../com/sun/source/doctree/SerialTree.java | 10 + .../com/sun/source/doctree/SinceTree.java | 10 + .../sun/source/doctree/StartElementTree.java | 15 + .../com/sun/source/doctree/TextTree.java | 9 + .../com/sun/source/doctree/ThrowsTree.java | 12 + .../source/doctree/UnknownBlockTagTree.java | 10 + .../source/doctree/UnknownInlineTagTree.java | 10 + .../com/sun/source/doctree/ValueTree.java | 9 + .../com/sun/source/doctree/VersionTree.java | 10 + .../sun/source/tree/AnnotatedTypeTree.java | 12 + .../com/sun/source/tree/AnnotationTree.java | 12 + .../com/sun/source/tree/ArrayAccessTree.java | 11 + .../com/sun/source/tree/ArrayTypeTree.java | 9 + .../com/sun/source/tree/AssertTree.java | 11 + .../com/sun/source/tree/AssignmentTree.java | 11 + .../com/sun/source/tree/BinaryTree.java | 11 + .../com/sun/source/tree/BlockTree.java | 12 + .../com/sun/source/tree/BreakTree.java | 10 + .../sources/com/sun/source/tree/CaseTree.java | 12 + .../com/sun/source/tree/CatchTree.java | 11 + .../com/sun/source/tree/ClassTree.java | 21 + .../sun/source/tree/CompilationUnitTree.java | 21 + .../source/tree/CompoundAssignmentTree.java | 11 + .../tree/ConditionalExpressionTree.java | 13 + .../com/sun/source/tree/ContinueTree.java | 10 + .../com/sun/source/tree/DoWhileLoopTree.java | 11 + .../sun/source/tree/EmptyStatementTree.java | 8 + .../sun/source/tree/EnhancedForLoopTree.java | 13 + .../com/sun/source/tree/ErroneousTree.java | 10 + .../source/tree/ExpressionStatementTree.java | 9 + .../com/sun/source/tree/ExpressionTree.java | 8 + .../com/sun/source/tree/ForLoopTree.java | 16 + .../com/sun/source/tree/IdentifierTree.java | 10 + .../sources/com/sun/source/tree/IfTree.java | 13 + .../com/sun/source/tree/ImportTree.java | 11 + .../com/sun/source/tree/InstanceOfTree.java | 11 + .../sun/source/tree/IntersectionTypeTree.java | 10 + .../sun/source/tree/LabeledStatementTree.java | 12 + .../sun/source/tree/LambdaExpressionTree.java | 21 + .../sources/com/sun/source/tree/LineMap.java | 15 + .../com/sun/source/tree/LiteralTree.java | 9 + .../sun/source/tree/MemberReferenceTree.java | 24 + .../com/sun/source/tree/MemberSelectTree.java | 12 + .../sun/source/tree/MethodInvocationTree.java | 14 + .../com/sun/source/tree/MethodTree.java | 27 + .../com/sun/source/tree/ModifiersTree.java | 14 + .../com/sun/source/tree/NewArrayTree.java | 18 + .../com/sun/source/tree/NewClassTree.java | 18 + .../source/tree/ParameterizedTypeTree.java | 12 + .../sun/source/tree/ParenthesizedTree.java | 9 + .../sun/source/tree/PrimitiveTypeTree.java | 10 + .../com/sun/source/tree/ReturnTree.java | 9 + .../sources/com/sun/source/tree/Scope.java | 18 + .../com/sun/source/tree/StatementTree.java | 8 + .../com/sun/source/tree/SwitchTree.java | 12 + .../com/sun/source/tree/SynchronizedTree.java | 11 + .../com/sun/source/tree/ThrowTree.java | 9 + .../sources/com/sun/source/tree/Tree.java | 126 + .../com/sun/source/tree/TreeVisitor.java | 113 + .../sources/com/sun/source/tree/TryTree.java | 16 + .../com/sun/source/tree/TypeCastTree.java | 11 + .../sun/source/tree/TypeParameterTree.java | 15 + .../com/sun/source/tree/UnaryTree.java | 9 + .../com/sun/source/tree/UnionTypeTree.java | 10 + .../com/sun/source/tree/VariableTree.java | 18 + .../com/sun/source/tree/WhileLoopTree.java | 11 + .../com/sun/source/tree/WildcardTree.java | 9 + .../sun/source/util/DocSourcePositions.java | 14 + .../com/sun/source/util/DocTreePath.java | 115 + .../sun/source/util/DocTreePathScanner.java | 37 + .../com/sun/source/util/DocTreeScanner.java | 218 + .../sources/com/sun/source/util/DocTrees.java | 34 + .../com/sun/source/util/JavacTask.java | 47 + .../sources/com/sun/source/util/Plugin.java | 11 + .../sun/source/util/SimpleDocTreeVisitor.java | 213 + .../sun/source/util/SimpleTreeVisitor.java | 357 ++ .../com/sun/source/util/SourcePositions.java | 13 + .../com/sun/source/util/TaskEvent.java | 69 + .../com/sun/source/util/TaskListener.java | 11 + .../sources/com/sun/source/util/TreePath.java | 106 + .../com/sun/source/util/TreePathScanner.java | 37 + .../com/sun/source/util/TreeScanner.java | 392 ++ .../sources/com/sun/source/util/Trees.java | 89 + .../com/sun/tools/doclint/Checker.java | 868 +++ .../com/sun/tools/doclint/DocLint.java | 335 ++ .../sources/com/sun/tools/doclint/Entity.java | 293 + .../sources/com/sun/tools/doclint/Env.java | 130 + .../com/sun/tools/doclint/HtmlTag.java | 312 + .../com/sun/tools/doclint/Messages.java | 309 + .../sun/tools/doclint/resources/doclint.java | 11 + .../tools/doclint/resources/doclint_ja.java | 11 + .../doclint/resources/doclint_zh_CN.java | 11 + .../sources/com/sun/tools/javac/Main.java | 22 + .../sun/tools/javac/api/BasicJavacTask.java | 127 + .../tools/javac/api/ClientCodeWrapper.java | 647 ++ .../tools/javac/api/DiagnosticFormatter.java | 55 + .../com/sun/tools/javac/api/Formattable.java | 32 + .../com/sun/tools/javac/api/JavacScope.java | 86 + .../sun/tools/javac/api/JavacTaskImpl.java | 446 ++ .../com/sun/tools/javac/api/JavacTool.java | 192 + .../com/sun/tools/javac/api/JavacTrees.java | 968 +++ .../com/sun/tools/javac/api/Messages.java | 11 + .../tools/javac/api/MultiTaskListener.java | 77 + .../javac/api/WrappingJavaFileManager.java | 77 + .../sun/tools/javac/code/AnnoConstruct.java | 178 + .../com/sun/tools/javac/code/Attribute.java | 435 ++ .../com/sun/tools/javac/code/BoundKind.java | 19 + .../tools/javac/code/DeferredLintHandler.java | 95 + .../com/sun/tools/javac/code/Flags.java | 232 + .../com/sun/tools/javac/code/Kinds.java | 186 + .../com/sun/tools/javac/code/Lint.java | 199 + .../com/sun/tools/javac/code/Printer.java | 396 ++ .../com/sun/tools/javac/code/Scope.java | 669 +++ .../com/sun/tools/javac/code/Source.java | 241 + .../com/sun/tools/javac/code/Symbol.java | 1725 ++++++ .../sun/tools/javac/code/SymbolMetadata.java | 323 + .../com/sun/tools/javac/code/Symtab.java | 468 ++ .../com/sun/tools/javac/code/TargetType.java | 86 + .../com/sun/tools/javac/code/Type.java | 2248 +++++++ .../javac/code/TypeAnnotationPosition.java | 222 + .../sun/tools/javac/code/TypeAnnotations.java | 990 ++++ .../com/sun/tools/javac/code/TypeTag.java | 124 + .../com/sun/tools/javac/code/Types.java | 4090 +++++++++++++ .../com/sun/tools/javac/comp/Annotate.java | 467 ++ .../com/sun/tools/javac/comp/Attr.java | 3620 ++++++++++++ .../com/sun/tools/javac/comp/AttrContext.java | 60 + .../sun/tools/javac/comp/AttrContextEnv.java | 10 + .../com/sun/tools/javac/comp/Check.java | 2656 +++++++++ .../sun/tools/javac/comp/CompileStates.java | 56 + .../com/sun/tools/javac/comp/ConstFold.java | 339 ++ .../sun/tools/javac/comp/DeferredAttr.java | 1116 ++++ .../com/sun/tools/javac/comp/Enter.java | 335 ++ .../sources/com/sun/tools/javac/comp/Env.java | 88 + .../com/sun/tools/javac/comp/Flow.java | 2236 +++++++ .../com/sun/tools/javac/comp/Infer.java | 1716 ++++++ .../sun/tools/javac/comp/LambdaToMethod.java | 1785 ++++++ .../com/sun/tools/javac/comp/Lower.java | 3082 ++++++++++ .../com/sun/tools/javac/comp/MemberEnter.java | 1134 ++++ .../com/sun/tools/javac/comp/Resolve.java | 3086 ++++++++++ .../com/sun/tools/javac/comp/Todo.java | 153 + .../com/sun/tools/javac/comp/TransTypes.java | 806 +++ .../com/sun/tools/javac/comp/TypeEnvs.java | 45 + .../sun/tools/javac/file/BaseFileObject.java | 89 + .../com/sun/tools/javac/file/CacheFSInfo.java | 87 + .../com/sun/tools/javac/file/FSInfo.java | 79 + .../tools/javac/file/JavacFileManager.java | 651 ++ .../com/sun/tools/javac/file/Locations.java | 613 ++ .../tools/javac/file/RegularFileObject.java | 207 + .../sun/tools/javac/file/RelativePath.java | 148 + .../sun/tools/javac/file/SymbolArchive.java | 73 + .../com/sun/tools/javac/file/ZipArchive.java | 241 + .../sun/tools/javac/file/ZipFileIndex.java | 986 +++ .../tools/javac/file/ZipFileIndexArchive.java | 206 + .../tools/javac/file/ZipFileIndexCache.java | 94 + .../com/sun/tools/javac/jvm/ByteCodes.java | 236 + .../com/sun/tools/javac/jvm/CRTFlags.java | 15 + .../com/sun/tools/javac/jvm/CRTable.java | 542 ++ .../com/sun/tools/javac/jvm/ClassFile.java | 113 + .../com/sun/tools/javac/jvm/ClassReader.java | 2500 ++++++++ .../com/sun/tools/javac/jvm/ClassWriter.java | 1619 +++++ .../sources/com/sun/tools/javac/jvm/Code.java | 2312 ++++++++ .../sources/com/sun/tools/javac/jvm/Gen.java | 2173 +++++++ .../com/sun/tools/javac/jvm/Items.java | 687 +++ .../com/sun/tools/javac/jvm/JNIWriter.java | 708 +++ .../sources/com/sun/tools/javac/jvm/Pool.java | 262 + .../com/sun/tools/javac/jvm/Profile.java | 75 + .../com/sun/tools/javac/jvm/Target.java | 181 + .../tools/javac/jvm/UninitializedType.java | 26 + .../com/sun/tools/javac/main/CommandLine.java | 43 + .../sun/tools/javac/main/JavaCompiler.java | 1308 ++++ .../com/sun/tools/javac/main/Main.java | 374 ++ .../com/sun/tools/javac/main/Option.java | 550 ++ .../sun/tools/javac/main/OptionHelper.java | 71 + .../javac/model/AnnotationProxyMaker.java | 262 + .../tools/javac/model/FilteredMemberList.java | 88 + .../sun/tools/javac/model/JavacElements.java | 515 ++ .../javac/model/JavacSourcePosition.java | 44 + .../com/sun/tools/javac/model/JavacTypes.java | 311 + .../tools/javac/nio/JavacPathFileManager.java | 429 ++ .../sun/tools/javac/nio/PathFileManager.java | 25 + .../sun/tools/javac/nio/PathFileObject.java | 258 + .../tools/javac/parser/DocCommentParser.java | 1124 ++++ .../sun/tools/javac/parser/JavaTokenizer.java | 584 ++ .../sun/tools/javac/parser/JavacParser.java | 3041 ++++++++++ .../tools/javac/parser/JavadocTokenizer.java | 212 + .../javac/parser/LazyDocCommentTable.java | 70 + .../com/sun/tools/javac/parser/Lexer.java | 23 + .../com/sun/tools/javac/parser/Parser.java | 14 + .../sun/tools/javac/parser/ParserFactory.java | 50 + .../com/sun/tools/javac/parser/Scanner.java | 91 + .../tools/javac/parser/ScannerFactory.java | 51 + .../com/sun/tools/javac/parser/Tokens.java | 421 ++ .../sun/tools/javac/parser/UnicodeReader.java | 186 + .../processing/AnnotationProcessingError.java | 10 + .../tools/javac/processing/JavacFiler.java | 445 ++ .../tools/javac/processing/JavacMessager.java | 169 + .../JavacProcessingEnvironment.java | 1251 ++++ .../processing/JavacRoundEnvironment.java | 112 + .../javac/processing/PrintingProcessor.java | 452 ++ .../tools/javac/processing/ServiceProxy.java | 172 + .../sun/tools/javac/resources/compiler.java | 11 + .../tools/javac/resources/compiler_ja.java | 11 + .../tools/javac/resources/compiler_zh_CN.java | 11 + .../com/sun/tools/javac/resources/javac.java | 11 + .../sun/tools/javac/resources/javac_ja.java | 11 + .../tools/javac/resources/javac_zh_CN.java | 11 + .../com/sun/tools/javac/resources/legacy.java | 11 + .../sun/tools/javac/resources/version.java | 11 + .../sun/tools/javac/sym/CreateSymbols.java | 281 + .../com/sun/tools/javac/sym/Profiles.java | 301 + .../com/sun/tools/javac/tree/DCTree.java | 863 +++ .../sun/tools/javac/tree/DocCommentTable.java | 17 + .../com/sun/tools/javac/tree/DocPretty.java | 537 ++ .../sun/tools/javac/tree/DocTreeMaker.java | 229 + .../com/sun/tools/javac/tree/EndPosTable.java | 10 + .../com/sun/tools/javac/tree/JCTree.java | 3129 ++++++++++ .../com/sun/tools/javac/tree/Pretty.java | 1412 +++++ .../com/sun/tools/javac/tree/TreeCopier.java | 594 ++ .../com/sun/tools/javac/tree/TreeInfo.java | 1249 ++++ .../com/sun/tools/javac/tree/TreeMaker.java | 844 +++ .../com/sun/tools/javac/tree/TreeScanner.java | 353 ++ .../sun/tools/javac/tree/TreeTranslator.java | 455 ++ .../com/sun/tools/javac/util/Abort.java | 13 + .../util/AbstractDiagnosticFormatter.java | 398 ++ .../com/sun/tools/javac/util/AbstractLog.java | 124 + .../com/sun/tools/javac/util/ArrayUtils.java | 52 + .../com/sun/tools/javac/util/Assert.java | 77 + .../sun/tools/javac/util/BaseFileManager.java | 309 + .../javac/util/BasicDiagnosticFormatter.java | 284 + .../com/sun/tools/javac/util/Bits.java | 266 + .../com/sun/tools/javac/util/ByteBuffer.java | 99 + .../tools/javac/util/ClientCodeException.java | 10 + .../com/sun/tools/javac/util/Constants.java | 115 + .../com/sun/tools/javac/util/Context.java | 110 + .../com/sun/tools/javac/util/Convert.java | 223 + .../tools/javac/util/DiagnosticSource.java | 155 + .../com/sun/tools/javac/util/FatalError.java | 18 + .../com/sun/tools/javac/util/Filter.java | 6 + .../util/ForwardingDiagnosticFormatter.java | 88 + .../com/sun/tools/javac/util/GraphUtils.java | 132 + .../sun/tools/javac/util/IntHashTable.java | 132 + .../sun/tools/javac/util/JCDiagnostic.java | 407 ++ .../sun/tools/javac/util/JavacMessages.java | 144 + .../tools/javac/util/LayoutCharacters.java | 13 + .../com/sun/tools/javac/util/List.java | 514 ++ .../com/sun/tools/javac/util/ListBuffer.java | 243 + .../sources/com/sun/tools/javac/util/Log.java | 549 ++ .../javac/util/MandatoryWarningHandler.java | 116 + .../com/sun/tools/javac/util/Name.java | 154 + .../com/sun/tools/javac/util/Names.java | 275 + .../com/sun/tools/javac/util/Options.java | 105 + .../com/sun/tools/javac/util/Pair.java | 37 + .../com/sun/tools/javac/util/Position.java | 230 + .../tools/javac/util/PropagatedException.java | 15 + .../javac/util/RawDiagnosticFormatter.java | 105 + .../javac/util/RichDiagnosticFormatter.java | 529 ++ .../sun/tools/javac/util/ServiceLoader.java | 349 ++ .../sun/tools/javac/util/SharedNameTable.java | 141 + .../com/sun/tools/javac/util/StringUtils.java | 28 + .../tools/javac/util/UnsharedNameTable.java | 123 + .../com/sun/tools/javac/util/Warner.java | 55 + .../d8onandroid/D8DiagnosticsHandler.java | 22 + .../r8api/AndroidDexIndexedConsumer.java | 56 + .../ArchiveClassFileResourceProvider.java | 81 + .../r8api/ArchiveProgramResourceProvider.java | 60 + .../dk/sgjesse/r8api/DescriptorUtils.java | 36 + .../sources/dk/sgjesse/r8api/FileOrigin.java | 23 + .../sources/dk/sgjesse/r8api/FileUtils.java | 11 + .../OrderedClassFileResourceProvider.java | 62 + .../sources/dk/sgjesse/r8api/ZipUtils.java | 46 + .../base/sources/fi/iki/elonen/NanoHTTPD.java | 1735 ++++++ .../base/sources/fi/iki/elonen/NanoWSD.java | 780 +++ .../sources/nl/minvws/encoding/Base45.java | 117 + FtcRobotController/build.gradle | 7 +- .../src/main/AndroidManifest.xml | 9 +- TeamCode/build.gradle | 43 +- .../ftc/teamcode/KotlinTeleOp.kt | 300 + .../ftc/teamcode/pedroPathing/AlignToTag.java | 197 + .../pedroPathing/AprilTagAlignPedroAuto.java | 114 + .../AprilTagAlignPedroTeleOp.java | 171 + .../pedroPathing/AprilTagAligner.java | 107 + .../pedroPathing/ArtifactHandlingSystem.java | 283 + .../ftc/teamcode/pedroPathing/CameraTest.java | 210 + .../teamcode/pedroPathing/ColorDetection.java | 216 + .../pedroPathing/ConceptAprilTag.java | 71 + .../ftc/teamcode/pedroPathing/Constants.java | 41 +- .../ftc/teamcode/pedroPathing/DecodeAuto.java | 567 ++ .../ftc/teamcode/pedroPathing/DriveTrain.java | 149 + .../pedroPathing/GoBildaPinpointDriver.java | 421 ++ .../pedroPathing/LinearSlideTest.java | 65 + .../ftc/teamcode/pedroPathing/Odometry.java | 68 + .../teamcode/pedroPathing/PedroPathing.java | 219 + .../teamcode/pedroPathing/RobotControls.java | 65 + .../pedroPathing/SimpleAprilTagHelper.java | 48 + .../pedroPathing/SimplePIDController.java | 56 + .../pedroPathing/TeleOpConstants.java | 65 + .../ftc/teamcode/pedroPathing/TeleopBlue.java | 67 + .../pedroPathing/TeleopOffseason.java | 272 + .../ftc/teamcode/pedroPathing/TeleopRed.java | 92 + .../teamcode/pedroPathing/slideConstants.java | 49 + .../com/android/tools/r8/dex/code/A.java | 37 + .../com/android/tools/r8/dex/code/A0.java | 92 + .../com/android/tools/r8/dex/code/A1.java | 293 + .../com/android/tools/r8/dex/code/A2.java | 41 + .../com/android/tools/r8/dex/code/A3.java | 48 + .../com/android/tools/r8/dex/code/B.java | 41 + .../com/android/tools/r8/dex/code/B0.java | 44 + .../com/android/tools/r8/dex/code/B1.java | 45 + .../com/android/tools/r8/dex/code/B2.java | 46 + .../com/android/tools/r8/dex/code/B3.java | 47 + .../com/android/tools/r8/dex/code/C.java | 41 + .../com/android/tools/r8/dex/code/C0.java | 44 + .../com/android/tools/r8/dex/code/C1.java | 18 + .../com/android/tools/r8/dex/code/C2.java | 41 + .../com/android/tools/r8/dex/code/C3.java | 36 + .../com/android/tools/r8/dex/code/D.java | 41 + .../com/android/tools/r8/dex/code/D0.java | 44 + .../com/android/tools/r8/dex/code/D1.java | 44 + .../com/android/tools/r8/dex/code/D2.java | 47 + .../com/android/tools/r8/dex/code/D3.java | 57 + .../com/android/tools/r8/dex/code/E.java | 41 + .../com/android/tools/r8/dex/code/E0.java | 63 + .../com/android/tools/r8/dex/code/E1.java | 44 + .../com/android/tools/r8/dex/code/E2.java | 41 + .../com/android/tools/r8/dex/code/E3.java | 47 + .../com/android/tools/r8/dex/code/F.java | 41 + .../com/android/tools/r8/dex/code/F0.java | 39 + .../com/android/tools/r8/dex/code/F1.java | 44 + .../com/android/tools/r8/dex/code/F2.java | 36 + .../com/android/tools/r8/dex/code/F3.java | 37 + .../com/android/tools/r8/dex/code/G.java | 41 + .../com/android/tools/r8/dex/code/G0.java | 89 + .../com/android/tools/r8/dex/code/G1.java | 44 + .../com/android/tools/r8/dex/code/G2.java | 36 + .../com/android/tools/r8/dex/code/G3.java | 47 + .../com/android/tools/r8/dex/code/H.java | 41 + .../com/android/tools/r8/dex/code/H0.java | 63 + .../com/android/tools/r8/dex/code/H1.java | 44 + .../com/android/tools/r8/dex/code/H2.java | 47 + .../com/android/tools/r8/dex/code/H3.java | 36 + .../com/android/tools/r8/dex/code/I.java | 51 + .../com/android/tools/r8/dex/code/I0.java | 88 + .../com/android/tools/r8/dex/code/I1.java | 44 + .../com/android/tools/r8/dex/code/I2.java | 42 + .../com/android/tools/r8/dex/code/I3.java | 56 + .../com/android/tools/r8/dex/code/J.java | 17 + .../com/android/tools/r8/dex/code/J0.java | 65 + .../com/android/tools/r8/dex/code/J1.java | 104 + .../com/android/tools/r8/dex/code/J2.java | 44 + .../com/android/tools/r8/dex/code/J3.java | 47 + .../com/android/tools/r8/dex/code/K.java | 17 + .../com/android/tools/r8/dex/code/K0.java | 76 + .../com/android/tools/r8/dex/code/K1.java | 137 + .../com/android/tools/r8/dex/code/K2.java | 44 + .../com/android/tools/r8/dex/code/K3.java | 37 + .../com/android/tools/r8/dex/code/L.java | 17 + .../com/android/tools/r8/dex/code/L0.java | 78 + .../com/android/tools/r8/dex/code/L1.java | 54 + .../com/android/tools/r8/dex/code/L2.java | 44 + .../com/android/tools/r8/dex/code/L3.java | 49 + .../com/android/tools/r8/dex/code/M.java | 17 + .../com/android/tools/r8/dex/code/M0.java | 91 + .../com/android/tools/r8/dex/code/N.java | 17 + .../com/android/tools/r8/dex/code/O.java | 477 ++ .../com/android/tools/r8/dex/code/P.java | 98 + .../com/android/tools/r8/dex/code/Q.java | 37 + .../com/android/tools/r8/dex/code/S.java | 37 + .../com/android/tools/r8/dex/code/T.java | 37 + .../com/android/tools/r8/dex/code/U.java | 37 + .../com/android/tools/r8/dex/code/V.java | 37 + .../com/android/tools/r8/dex/code/W.java | 20 + .../com/android/tools/r8/dex/code/X.java | 59 + .../com/android/tools/r8/dex/code/Y.java | 75 + .../com/android/tools/r8/dex/code/Z.java | 57 + .../com/android/tools/r8/dex/code/a4.java | 47 + .../com/android/tools/r8/dex/code/b4.java | 37 + .../com/android/tools/r8/dex/code/c4.java | 27 + .../com/android/tools/r8/dex/code/d4.java | 43 + .../com/android/tools/r8/dex/code/e4.java | 47 + .../com/android/tools/r8/dex/code/f4.java | 36 + .../com/android/tools/r8/dex/code/g4.java | 56 + .../com/android/tools/r8/dex/code/h4.java | 47 + .../com/android/tools/r8/dex/code/i4.java | 37 + .../com/android/tools/r8/dex/code/j4.java | 47 + .../com/android/tools/r8/dex/code/k4.java | 36 + .../com/android/tools/r8/dex/code/l4.java | 36 + .../com/android/tools/r8/dex/code/r.java | 41 + .../lint/DesugaredMethodsList.java | 90 + .../lint/DesugaredMethodsListCommand.java | 194 + .../ir/desugar/desugaredlibrary/lint/a.java | 38 + .../ir/desugar/desugaredlibrary/lint/b.java | 19 + .../ir/desugar/desugaredlibrary/lint/c.java | 17 + .../ir/desugar/desugaredlibrary/lint/d.java | 21 + .../ir/desugar/desugaredlibrary/lint/e.java | 131 + .../ir/desugar/desugaredlibrary/lint/f.java | 86 + .../ir/desugar/desugaredlibrary/lint/g.java | 119 + .../ir/desugar/desugaredlibrary/lint/h.java | 174 + .../ir/desugar/desugaredlibrary/lint/i.java | 33 + .../ir/desugar/desugaredlibrary/lint/j.java | 88 + .../ir/desugar/desugaredlibrary/lint/k.java | 151 + .../ir/desugar/desugaredlibrary/lint/l.java | 51 + .../ir/desugar/desugaredlibrary/lint/m.java | 162 + .../ir/desugar/desugaredlibrary/lint/n.java | 76 + .../ir/desugar/desugaredlibrary/lint/o.java | 463 ++ .../varhandle/VarHandleDesugaringMethods.java | 3168 ++++++++++ .../com/android/tools/r8/ir/optimize/A.java | 20 + .../com/android/tools/r8/ir/optimize/A0.java | 13 + .../tools/r8/ir/optimize/AbstractC3664d.java | 27 + .../tools/r8/ir/optimize/AbstractC3665d0.java | 20 + .../tools/r8/ir/optimize/AbstractC3672f0.java | 130 + .../tools/r8/ir/optimize/AbstractC3674g0.java | 24 + .../tools/r8/ir/optimize/AbstractC3675h.java | 10 + .../tools/r8/ir/optimize/AbstractC3699t.java | 48 + .../com/android/tools/r8/ir/optimize/B.java | 6 + .../com/android/tools/r8/ir/optimize/B0.java | 16 + .../com/android/tools/r8/ir/optimize/C.java | 6 + .../com/android/tools/r8/ir/optimize/C0.java | 24 + .../android/tools/r8/ir/optimize/C3658a.java | 139 + .../android/tools/r8/ir/optimize/C3659a0.java | 74 + .../android/tools/r8/ir/optimize/C3660b.java | 152 + .../android/tools/r8/ir/optimize/C3661b0.java | 217 + .../android/tools/r8/ir/optimize/C3663c0.java | 120 + .../android/tools/r8/ir/optimize/C3666e.java | 41 + .../android/tools/r8/ir/optimize/C3667e0.java | 291 + .../android/tools/r8/ir/optimize/C3670f.java | 212 + .../android/tools/r8/ir/optimize/C3673g.java | 20 + .../android/tools/r8/ir/optimize/C3676h0.java | 37 + .../android/tools/r8/ir/optimize/C3677i.java | 46 + .../android/tools/r8/ir/optimize/C3678i0.java | 37 + .../android/tools/r8/ir/optimize/C3684j.java | 84 + .../android/tools/r8/ir/optimize/C3685j0.java | 285 + .../android/tools/r8/ir/optimize/C3686k.java | 113 + .../android/tools/r8/ir/optimize/C3687l.java | 8 + .../android/tools/r8/ir/optimize/C3688m.java | 8 + .../android/tools/r8/ir/optimize/C3689n.java | 8 + .../android/tools/r8/ir/optimize/C3690o.java | 23 + .../android/tools/r8/ir/optimize/C3691p.java | 8 + .../android/tools/r8/ir/optimize/C3692q.java | 553 ++ .../android/tools/r8/ir/optimize/C3698s.java | 97 + .../android/tools/r8/ir/optimize/C3700u.java | 38 + .../android/tools/r8/ir/optimize/C3701v.java | 26 + .../android/tools/r8/ir/optimize/C3702w.java | 361 ++ .../C3712w$$ExternalSyntheticLambda8.java | 21 + .../android/tools/r8/ir/optimize/C3714x.java | 188 + .../android/tools/r8/ir/optimize/C3715y.java | 54 + .../android/tools/r8/ir/optimize/C3716z.java | 277 + .../com/android/tools/r8/ir/optimize/D.java | 19 + .../com/android/tools/r8/ir/optimize/D0.java | 19 + .../com/android/tools/r8/ir/optimize/E.java | 14 + .../com/android/tools/r8/ir/optimize/E0.java | 74 + .../com/android/tools/r8/ir/optimize/F.java | 146 + .../com/android/tools/r8/ir/optimize/F0.java | 172 + .../com/android/tools/r8/ir/optimize/G.java | 29 + .../com/android/tools/r8/ir/optimize/G0.java | 10 + .../H$$ExternalSyntheticBackport0.java | 11 + .../com/android/tools/r8/ir/optimize/H.java | 358 ++ .../com/android/tools/r8/ir/optimize/H0.java | 15 + .../com/android/tools/r8/ir/optimize/I.java | 38 + .../com/android/tools/r8/ir/optimize/I0.java | 293 + .../tools/r8/ir/optimize/InterfaceC3662c.java | 10 + .../com/android/tools/r8/ir/optimize/J.java | 14 + .../com/android/tools/r8/ir/optimize/J0.java | 19 + .../com/android/tools/r8/ir/optimize/K.java | 94 + .../com/android/tools/r8/ir/optimize/L.java | 30 + .../com/android/tools/r8/ir/optimize/M.java | 217 + .../com/android/tools/r8/ir/optimize/N.java | 22 + .../com/android/tools/r8/ir/optimize/O.java | 95 + .../com/android/tools/r8/ir/optimize/P.java | 31 + .../com/android/tools/r8/ir/optimize/Q.java | 5259 +++++++++++++++++ .../com/android/tools/r8/ir/optimize/S.java | 9 + .../ServiceLoaderRewriterDiagnostic.java | 32 + .../com/android/tools/r8/ir/optimize/T.java | 21 + .../com/android/tools/r8/ir/optimize/U.java | 16 + .../com/android/tools/r8/ir/optimize/V.java | 6 + .../com/android/tools/r8/ir/optimize/W.java | 404 ++ .../com/android/tools/r8/ir/optimize/X.java | 36 + .../com/android/tools/r8/ir/optimize/Y.java | 84 + .../com/android/tools/r8/ir/optimize/Z.java | 44 + .../c0$$ExternalSyntheticLambda1.java | 13 + .../android/tools/r8/ir/optimize/info/A.java | 6 + .../r8/ir/optimize/info/AbstractC3679a.java | 26 + .../r8/ir/optimize/info/AbstractC3683e.java | 21 + .../android/tools/r8/ir/optimize/info/B.java | 135 + .../android/tools/r8/ir/optimize/info/C.java | 404 ++ .../tools/r8/ir/optimize/info/C3680b.java | 169 + .../tools/r8/ir/optimize/info/C3681c.java | 47 + .../tools/r8/ir/optimize/info/C3682d.java | 192 + .../android/tools/r8/ir/optimize/info/D.java | 62 + .../android/tools/r8/ir/optimize/info/E.java | 7 + .../android/tools/r8/ir/optimize/info/f.java | 7 + .../android/tools/r8/ir/optimize/info/g.java | 19 + .../android/tools/r8/ir/optimize/info/h.java | 87 + .../android/tools/r8/ir/optimize/info/i.java | 15 + .../android/tools/r8/ir/optimize/info/j.java | 375 ++ .../android/tools/r8/ir/optimize/info/k.java | 27 + .../android/tools/r8/ir/optimize/info/l.java | 219 + .../android/tools/r8/ir/optimize/info/m.java | 19 + .../android/tools/r8/ir/optimize/info/n.java | 200 + .../android/tools/r8/ir/optimize/info/o.java | 13 + .../android/tools/r8/ir/optimize/info/p.java | 58 + .../android/tools/r8/ir/optimize/info/q.java | 39 + .../android/tools/r8/ir/optimize/info/r.java | 10 + .../android/tools/r8/ir/optimize/info/s.java | 22 + .../android/tools/r8/ir/optimize/info/t.java | 75 + .../android/tools/r8/ir/optimize/info/u.java | 71 + .../android/tools/r8/ir/optimize/info/v.java | 80 + .../android/tools/r8/ir/optimize/info/w.java | 556 ++ .../android/tools/r8/ir/optimize/info/x.java | 39 + .../android/tools/r8/ir/optimize/info/y.java | 47 + .../android/tools/r8/ir/optimize/info/z.java | 338 ++ .../WhyAreYouNotInliningDiagnostic.java | 32 + .../optimize/j$$ExternalSyntheticLambda4.java | 12 + .../j0$$ExternalSyntheticLambda1.java | 20 + .../com/android/tools/r8/ir/optimize/k0.java | 277 + .../com/android/tools/r8/ir/optimize/l0.java | 32 + .../com/android/tools/r8/ir/optimize/m0.java | 14 + .../com/android/tools/r8/ir/optimize/n0.java | 35 + .../com/android/tools/r8/ir/optimize/o0.java | 95 + .../com/android/tools/r8/ir/optimize/p0.java | 375 ++ .../com/android/tools/r8/ir/optimize/q0.java | 32 + .../com/android/tools/r8/ir/optimize/r.java | 42 + .../com/android/tools/r8/ir/optimize/r0.java | 255 + .../com/android/tools/r8/ir/optimize/s0.java | 160 + .../com/android/tools/r8/ir/optimize/t0.java | 273 + .../com/android/tools/r8/ir/optimize/u0.java | 87 + .../optimize/v$$ExternalSyntheticLambda0.java | 14 + .../com/android/tools/r8/ir/optimize/v0.java | 257 + .../com/android/tools/r8/ir/optimize/w0.java | 9 + .../com/android/tools/r8/ir/optimize/x0.java | 138 + .../com/android/tools/r8/ir/optimize/y0.java | 19 + .../optimize/z$$ExternalSyntheticLambda3.java | 12 + .../com/android/tools/r8/ir/optimize/z0.java | 7 + .../com/android/tools/r8/ir/regalloc/a.java | 38 + .../com/android/tools/r8/ir/regalloc/b.java | 1843 ++++++ .../com/android/tools/r8/ir/regalloc/c.java | 538 ++ .../com/android/tools/r8/ir/regalloc/d.java | 33 + .../com/android/tools/r8/ir/regalloc/e.java | 26 + .../com/android/tools/r8/ir/regalloc/f.java | 32 + .../com/android/tools/r8/ir/regalloc/g.java | 102 + .../com/android/tools/r8/ir/regalloc/h.java | 162 + .../com/android/tools/r8/ir/regalloc/i.java | 15 + .../com/android/tools/r8/ir/regalloc/j.java | 11 + .../com/android/tools/r8/ir/regalloc/k.java | 99 + .../com/android/tools/r8/ir/regalloc/l.java | 41 + .../com/android/tools/r8/ir/regalloc/m.java | 57 + .../com/android/tools/r8/ir/regalloc/n.java | 375 ++ base/sources/com/google/blocks/R.java | 2985 ++++++++++ .../IOExceptionWithUserVisibleMessage.java | 10 + .../ProgrammingWebHandlers.java | 670 +++ .../hardware/HardwareItem.java | 49 + .../hardware/HardwareItemMap.java | 197 + .../hardware/HardwareType.java | 183 + .../hardware/HardwareUtil.java | 2565 ++++++++ .../ftcrobotcontroller/onbotjava/R.java | 2985 ++++++++++ .../runtime/AccelerationAccess.java | 222 + .../runtime/AccelerationSensorAccess.java | 113 + .../ftcrobotcontroller/runtime/Access.java | 211 + .../runtime/AnalogInputAccess.java | 48 + .../runtime/AndroidAccelerometerAccess.java | 159 + .../runtime/AndroidGyroscopeAccess.java | 159 + .../runtime/AndroidOrientationAccess.java | 173 + .../runtime/AndroidSoundPoolAccess.java | 187 + .../runtime/AndroidTextToSpeechAccess.java | 187 + .../runtime/AndyMarkColorSensorAccess.java | 302 + .../AndyMarkIMUOrientationOnRobotAccess.java | 109 + .../runtime/AngularVelocityAccess.java | 234 + .../runtime/AprilTagAccess.java | 827 +++ .../runtime/BNO055IMUAccess.java | 595 ++ .../runtime/BNO055IMUParametersAccess.java | 459 ++ .../runtime/BlackboardAccess.java | 260 + .../runtime/BlinkinPatternAccess.java | 128 + .../ftcrobotcontroller/runtime/Block.java | 21 + .../ftcrobotcontroller/runtime/BlockType.java | 11 + .../runtime/BlocksOpMode.java | 596 ++ .../runtime/CRServoAccess.java | 138 + .../runtime/ColorAccess.java | 273 + .../runtime/ColorBlobLocatorAccess.java | 515 ++ .../runtime/ColorRangeSensorAccess.java | 294 + .../runtime/ColorSensorAccess.java | 308 + .../runtime/CompassSensorAccess.java | 67 + .../runtime/DbgLogAccess.java | 43 + .../runtime/DcMotorAccess.java | 801 +++ .../runtime/DigitalChannelAccess.java | 87 + .../runtime/DistanceSensorAccess.java | 39 + .../runtime/ElapsedTimeAccess.java | 252 + .../runtime/ExposureControlAccess.java | 239 + .../runtime/FocusControlAccess.java | 188 + .../runtime/GainControlAccess.java | 99 + .../runtime/GamepadAccess.java | 1822 ++++++ .../runtime/GoBildaPinpointAccess.java | 606 ++ .../runtime/GyroSensorAccess.java | 435 ++ .../runtime/HardwareAccess.java | 106 + .../runtime/HuskyLensAccess.java | 126 + .../ftcrobotcontroller/runtime/ImuAccess.java | 138 + .../runtime/ImuParametersAccess.java | 37 + .../runtime/IrSeekerSensorAccess.java | 211 + .../runtime/LLResultAccess.java | 81 + .../runtime/LLStatusAccess.java | 57 + .../ftcrobotcontroller/runtime/LedAccess.java | 80 + .../runtime/LedEffectAccess.java | 84 + .../runtime/LightSensorAccess.java | 80 + .../runtime/Limelight3AAccess.java | 252 + .../runtime/LinearOpModeAccess.java | 191 + .../runtime/MagneticFluxAccess.java | 146 + .../runtime/MatrixFAccess.java | 674 +++ .../runtime/MaxSonarI2CXLAccess.java | 193 + .../runtime/MiscAccess.java | 516 ++ .../runtime/MrI2cCompassSensorAccess.java | 288 + .../runtime/MrI2cRangeSensorAccess.java | 226 + .../runtime/NavigationAccess.java | 108 + .../runtime/OctoQuadAccess.java | 523 ++ .../runtime/OpenGLMatrixAccess.java | 413 ++ .../runtime/OpencvAccess.java | 138 + .../runtime/OpticalDistanceSensorAccess.java | 81 + .../runtime/OrientationAccess.java | 403 ++ .../runtime/PIDFCoefficientsAccess.java | 311 + .../runtime/Pose2DAccess.java | 128 + .../runtime/PositionAccess.java | 191 + .../runtime/PredominantColorAccess.java | 126 + .../runtime/PtzControlAccess.java | 182 + .../runtime/QuaternionAccess.java | 253 + .../runtime/RangeAccess.java | 43 + .../Rev9AxisImuOrientationOnRobotAccess.java | 109 + .../runtime/RevBlinkinLedDriverAccess.java | 35 + .../RevHubOrientationOnRobotAccess.java | 109 + .../runtime/RumbleEffectAccess.java | 71 + .../runtime/ServoAccess.java | 153 + .../runtime/ServoControllerAccess.java | 68 + .../runtime/SparkFunLEDStickAccess.java | 120 + .../runtime/SparkFunOTOSAccess.java | 566 ++ .../runtime/SystemAccess.java | 40 + .../runtime/TelemetryAccess.java | 197 + .../runtime/TemperatureAccess.java | 143 + .../runtime/TouchSensorAccess.java | 34 + .../runtime/UltrasonicSensorAccess.java | 32 + .../runtime/VectorFAccess.java | 363 ++ .../runtime/VelocityAccess.java | 195 + .../runtime/VisionPortalAccess.java | 713 +++ .../runtime/VoltageSensorAccess.java | 32 + .../runtime/WhiteBalanceControlAccess.java | 145 + .../runtime/YawPitchRollAnglesAccess.java | 150 + .../runtime/obsolete/TensorFlowAccess.java | 133 + .../runtime/obsolete/TfodAccess.java | 84 + .../runtime/obsolete/TfodBaseAccess.java | 54 + .../obsolete/TfodCurrentGameAccess.java | 59 + .../obsolete/TfodCustomModelAccess.java | 70 + .../obsolete/TfodRoverRuckusAccess.java | 59 + .../runtime/obsolete/TfodSkyStoneAccess.java | 59 + .../runtime/obsolete/VuforiaBaseAccess.java | 66 + .../obsolete/VuforiaCurrentGameAccess.java | 71 + .../obsolete/VuforiaLocalizerAccess.java | 31 + .../VuforiaLocalizerParametersAccess.java | 101 + .../obsolete/VuforiaRelicRecoveryAccess.java | 82 + .../obsolete/VuforiaRoverRuckusAccess.java | 71 + .../obsolete/VuforiaSkyStoneAccess.java | 71 + .../obsolete/VuforiaTrackableAccess.java | 58 + ...VuforiaTrackableDefaultListenerAccess.java | 47 + .../obsolete/VuforiaTrackablesAccess.java | 52 + .../util/AvailableTtsLocalesProvider.java | 38 + .../util/BlocksArchive.java | 37 + .../util/BlocksProject.java | 26 + .../util/ClipboardUtil.java | 22 + .../util/CorruptFileException.java | 14 + .../ftcrobotcontroller/util/CurrentGame.java | 10 + .../ftcrobotcontroller/util/FileManager.java | 121 + .../ftcrobotcontroller/util/FileUtil.java | 109 + .../ftcrobotcontroller/util/Identifier.java | 88 + .../util/OfflineBlocksProject.java | 27 + .../util/OfflineBlocksUtil.java | 336 ++ .../util/ProjectsLockManager.java | 28 + .../ftcrobotcontroller/util/ProjectsUtil.java | 874 +++ .../util/ToolboxFolder.java | 14 + .../ftcrobotcontroller/util/ToolboxIcon.java | 32 + .../ftcrobotcontroller/util/ToolboxUtil.java | 145 + .../google/gson/DefaultDateTypeAdapter.java | 93 + .../com/google/gson/ExclusionStrategy.java | 8 + .../com/google/gson/FieldAttributes.java | 54 + .../com/google/gson/FieldNamingPolicy.java | 76 + .../com/google/gson/FieldNamingStrategy.java | 8 + base/sources/com/google/gson/Gson.java | 571 ++ base/sources/com/google/gson/GsonBuilder.java | 194 + .../com/google/gson/InstanceCreator.java | 8 + base/sources/com/google/gson/JsonArray.java | 182 + .../gson/JsonDeserializationContext.java | 8 + .../com/google/gson/JsonDeserializer.java | 8 + base/sources/com/google/gson/JsonElement.java | 121 + .../com/google/gson/JsonIOException.java | 18 + base/sources/com/google/gson/JsonNull.java | 24 + base/sources/com/google/gson/JsonObject.java | 87 + .../com/google/gson/JsonParseException.java | 18 + base/sources/com/google/gson/JsonParser.java | 49 + .../com/google/gson/JsonPrimitive.java | 204 + .../google/gson/JsonSerializationContext.java | 10 + .../com/google/gson/JsonSerializer.java | 8 + .../com/google/gson/JsonStreamParser.java | 74 + .../com/google/gson/JsonSyntaxException.java | 18 + .../google/gson/LongSerializationPolicy.java | 19 + base/sources/com/google/gson/TypeAdapter.java | 86 + .../com/google/gson/TypeAdapterFactory.java | 8 + .../com/google/gson/annotations/Expose.java | 17 + .../google/gson/annotations/JsonAdapter.java | 15 + .../gson/annotations/SerializedName.java | 17 + .../com/google/gson/annotations/Since.java | 15 + .../com/google/gson/annotations/Until.java | 15 + .../rawcollections/RawCollectionsExample.java | 41 + .../gson/graph/GraphAdapterBuilder.java | 212 + .../google/gson/interceptors/Intercept.java | 13 + .../gson/interceptors/InterceptorFactory.java | 49 + .../interceptors/JsonPostDeserializer.java | 6 + .../gson/internal/C$Gson$Preconditions.java | 22 + .../google/gson/internal/C$Gson$Types.java | 439 ++ .../gson/internal/ConstructorConstructor.java | 202 + .../com/google/gson/internal/Excluder.java | 203 + .../internal/JsonReaderInternalAccess.java | 11 + .../gson/internal/LazilyParsedNumber.java | 68 + .../gson/internal/LinkedHashTreeMap.java | 763 +++ .../google/gson/internal/LinkedTreeMap.java | 576 ++ .../gson/internal/ObjectConstructor.java | 6 + .../com/google/gson/internal/Primitives.java | 55 + .../com/google/gson/internal/Streams.java | 99 + .../google/gson/internal/UnsafeAllocator.java | 74 + .../gson/internal/bind/ArrayTypeAdapter.java | 73 + .../bind/CollectionTypeAdapterFactory.java | 78 + .../gson/internal/bind/DateTypeAdapter.java | 68 + ...onAdapterAnnotationTypeAdapterFactory.java | 48 + .../gson/internal/bind/JsonTreeReader.java | 332 ++ .../gson/internal/bind/JsonTreeWriter.java | 201 + .../internal/bind/MapTypeAdapterFactory.java | 168 + .../gson/internal/bind/ObjectTypeAdapter.java | 82 + .../bind/ReflectiveTypeAdapterFactory.java | 245 + .../internal/bind/SqlDateTypeAdapter.java | 49 + .../gson/internal/bind/TimeTypeAdapter.java | 50 + .../gson/internal/bind/TreeTypeAdapter.java | 136 + .../bind/TypeAdapterRuntimeTypeWrapper.java | 55 + .../gson/internal/bind/TypeAdapters.java | 987 ++++ .../gson/internal/bind/util/ISO8601Utils.java | 126 + .../com/google/gson/reflect/TypeToken.java | 189 + .../com/google/gson/stream/JsonReader.java | 1193 ++++ .../com/google/gson/stream/JsonScope.java | 16 + .../com/google/gson/stream/JsonToken.java | 15 + .../com/google/gson/stream/JsonWriter.java | 383 ++ .../gson/stream/MalformedJsonException.java | 21 + .../PostConstructAdapterFactory.java | 64 + .../RuntimeTypeAdapterFactory.java | 108 + .../gson/typeadapters/UtcDateTypeAdapter.java | 136 + .../com/google/zxing/BarcodeFormat.java | 22 + base/sources/com/google/zxing/Binarizer.java | 31 + .../com/google/zxing/BinaryBitmap.java | 67 + .../com/google/zxing/ChecksumException.java | 27 + .../com/google/zxing/DecodeHintType.java | 28 + base/sources/com/google/zxing/Dimension.java | 39 + .../com/google/zxing/EncodeHintType.java | 18 + .../com/google/zxing/FormatException.java | 27 + .../google/zxing/InvertedLuminanceSource.java | 62 + .../com/google/zxing/LuminanceSource.java | 78 + .../com/google/zxing/MultiFormatReader.java | 110 + .../com/google/zxing/MultiFormatWriter.java | 74 + .../com/google/zxing/NotFoundException.java | 19 + .../zxing/PlanarYUVLuminanceSource.java | 120 + .../com/google/zxing/RGBLuminanceSource.java | 87 + base/sources/com/google/zxing/Reader.java | 12 + .../com/google/zxing/ReaderException.java | 24 + base/sources/com/google/zxing/Result.java | 96 + .../com/google/zxing/ResultMetadataType.java | 16 + .../sources/com/google/zxing/ResultPoint.java | 78 + .../com/google/zxing/ResultPointCallback.java | 6 + base/sources/com/google/zxing/Writer.java | 11 + .../com/google/zxing/WriterException.java | 15 + .../zxing/aztec/AztecDetectorResult.java | 31 + .../com/google/zxing/aztec/AztecReader.java | 99 + .../com/google/zxing/aztec/AztecWriter.java | 76 + .../google/zxing/aztec/decoder/Decoder.java | 305 + .../google/zxing/aztec/detector/Detector.java | 360 ++ .../google/zxing/aztec/encoder/AztecCode.java | 52 + .../zxing/aztec/encoder/BinaryShiftToken.java | 36 + .../google/zxing/aztec/encoder/Encoder.java | 315 + .../zxing/aztec/encoder/HighLevelEncoder.java | 193 + .../zxing/aztec/encoder/SimpleToken.java | 25 + .../com/google/zxing/aztec/encoder/State.java | 119 + .../com/google/zxing/aztec/encoder/Token.java | 27 + .../client/android/AmbientLightManager.java | 75 + .../zxing/client/android/BeepManager.java | 101 + .../zxing/client/android/BuildConfig.java | 8 + .../client/android/DecodeFormatManager.java | 66 + .../client/android/DecodeHintManager.java | 162 + .../zxing/client/android/InactivityTimer.java | 91 + .../google/zxing/client/android/Intents.java | 45 + .../com/google/zxing/client/android/R.java | 315 + .../camera/open/OpenCameraInterface.java | 50 + .../result/AbstractDoCoMoResultParser.java | 15 + .../result/AddressBookAUResultParser.java | 39 + .../result/AddressBookDoCoMoResultParser.java | 37 + .../result/AddressBookParsedResult.java | 140 + .../client/result/BizcardResultParser.java | 52 + .../result/BookmarkDoCoMoResultParser.java | 24 + .../client/result/CalendarParsedResult.java | 182 + .../result/EmailAddressParsedResult.java | 67 + .../result/EmailAddressResultParser.java | 72 + .../result/EmailDoCoMoResultParser.java | 30 + .../result/ExpandedProductParsedResult.java | 121 + .../result/ExpandedProductResultParser.java | 57 + .../zxing/client/result/GeoParsedResult.java | 71 + .../zxing/client/result/GeoResultParser.java | 44 + .../zxing/client/result/ISBNParsedResult.java | 20 + .../zxing/client/result/ISBNResultParser.java | 22 + .../zxing/client/result/ParsedResult.java | 37 + .../zxing/client/result/ParsedResultType.java | 17 + .../client/result/ProductParsedResult.java | 30 + .../client/result/ProductResultParser.java | 27 + .../zxing/client/result/ResultParser.java | 192 + .../client/result/SMSMMSResultParser.java | 66 + .../zxing/client/result/SMSParsedResult.java | 85 + .../client/result/SMSTOMMSTOResultParser.java | 22 + .../zxing/client/result/SMTPResultParser.java | 28 + .../zxing/client/result/TelParsedResult.java | 35 + .../zxing/client/result/TelResultParser.java | 18 + .../zxing/client/result/TextParsedResult.java | 26 + .../zxing/client/result/URIParsedResult.java | 53 + .../zxing/client/result/URIResultParser.java | 42 + .../client/result/URLTOResultParser.java | 18 + .../client/result/VCardResultParser.java | 350 ++ .../client/result/VEventResultParser.java | 85 + .../zxing/client/result/VINParsedResult.java | 78 + .../zxing/client/result/VINResultParser.java | 184 + .../zxing/client/result/WifiParsedResult.java | 75 + .../zxing/client/result/WifiResultParser.java | 43 + .../com/google/zxing/common/BitArray.java | 263 + .../com/google/zxing/common/BitMatrix.java | 330 ++ .../com/google/zxing/common/BitSource.java | 60 + .../google/zxing/common/CharacterSetECI.java | 83 + .../google/zxing/common/DecoderResult.java | 91 + .../zxing/common/DefaultGridSampler.java | 41 + .../google/zxing/common/DetectorResult.java | 22 + .../common/GlobalHistogramBinarizer.java | 149 + .../com/google/zxing/common/GridSampler.java | 72 + .../google/zxing/common/HybridBinarizer.java | 198 + .../zxing/common/PerspectiveTransform.java | 90 + .../com/google/zxing/common/StringUtils.java | 35 + .../zxing/common/detector/MathUtils.java | 31 + .../detector/MonochromeRectangleDetector.java | 175 + .../detector/WhiteRectangleDetector.java | 223 + .../zxing/common/reedsolomon/GenericGF.java | 113 + .../common/reedsolomon/GenericGFPoly.java | 206 + .../reedsolomon/ReedSolomonDecoder.java | 118 + .../reedsolomon/ReedSolomonEncoder.java | 47 + .../reedsolomon/ReedSolomonException.java | 8 + .../zxing/datamatrix/DataMatrixReader.java | 106 + .../zxing/datamatrix/DataMatrixWriter.java | 137 + .../datamatrix/decoder/BitMatrixParser.java | 356 ++ .../zxing/datamatrix/decoder/DataBlock.java | 76 + .../decoder/DecodedBitStreamParser.java | 455 ++ .../zxing/datamatrix/decoder/Decoder.java | 55 + .../zxing/datamatrix/decoder/Version.java | 139 + .../zxing/datamatrix/detector/Detector.java | 254 + .../datamatrix/encoder/ASCIIEncoder.java | 64 + .../datamatrix/encoder/Base256Encoder.java | 59 + .../zxing/datamatrix/encoder/C40Encoder.java | 140 + .../encoder/DataMatrixSymbolInfo144.java | 23 + .../datamatrix/encoder/DefaultPlacement.java | 172 + .../datamatrix/encoder/EdifactEncoder.java | 121 + .../zxing/datamatrix/encoder/Encoder.java | 8 + .../datamatrix/encoder/EncoderContext.java | 117 + .../datamatrix/encoder/ErrorCorrection.java | 110 + .../datamatrix/encoder/HighLevelEncoder.java | 190 + .../zxing/datamatrix/encoder/SymbolInfo.java | 150 + .../datamatrix/encoder/SymbolShapeHint.java | 8 + .../zxing/datamatrix/encoder/TextEncoder.java | 65 + .../zxing/datamatrix/encoder/X12Encoder.java | 74 + .../integration/android/IntentIntegrator.java | 249 + .../integration/android/IntentResult.java | 65 + .../google/zxing/maxicode/MaxiCodeReader.java | 67 + .../maxicode/decoder/BitMatrixParser.java | 71 + .../decoder/DecodedBitStreamParser.java | 219 + .../zxing/maxicode/decoder/Decoder.java | 70 + .../google/zxing/multi/ByQuadrantReader.java | 74 + .../multi/GenericMultipleBarcodeReader.java | 145 + .../zxing/multi/MultipleBarcodeReader.java | 14 + .../zxing/multi/qrcode/QRCodeMultiReader.java | 115 + .../multi/qrcode/detector/MultiDetector.java | 42 + .../detector/MultiFinderPatternFinder.java | 251 + .../com/google/zxing/oned/CodaBarReader.java | 325 + .../com/google/zxing/oned/CodaBarWriter.java | 110 + .../com/google/zxing/oned/Code128Reader.java | 109 + .../com/google/zxing/oned/Code128Writer.java | 211 + .../com/google/zxing/oned/Code39Reader.java | 256 + .../com/google/zxing/oned/Code39Writer.java | 137 + .../com/google/zxing/oned/Code93Reader.java | 238 + .../com/google/zxing/oned/Code93Writer.java | 149 + .../com/google/zxing/oned/EAN13Reader.java | 57 + .../com/google/zxing/oned/EAN13Writer.java | 58 + .../com/google/zxing/oned/EAN8Reader.java | 40 + .../com/google/zxing/oned/EAN8Writer.java | 53 + .../zxing/oned/EANManufacturerOrgSupport.java | 146 + .../com/google/zxing/oned/ITFReader.java | 186 + .../com/google/zxing/oned/ITFWriter.java | 46 + .../zxing/oned/MultiFormatOneDReader.java | 83 + .../zxing/oned/MultiFormatUPCEANReader.java | 151 + .../com/google/zxing/oned/OneDReader.java | 233 + .../zxing/oned/OneDimensionalCodeWriter.java | 90 + .../com/google/zxing/oned/UPCAReader.java | 58 + .../com/google/zxing/oned/UPCAWriter.java | 25 + .../zxing/oned/UPCEANExtension2Support.java | 72 + .../zxing/oned/UPCEANExtension5Support.java | 198 + .../zxing/oned/UPCEANExtensionSupport.java | 25 + .../com/google/zxing/oned/UPCEANReader.java | 237 + .../com/google/zxing/oned/UPCEANWriter.java | 9 + .../com/google/zxing/oned/UPCEReader.java | 102 + .../com/google/zxing/oned/UPCEWriter.java | 58 + .../zxing/oned/rss/AbstractRSSReader.java | 106 + .../google/zxing/oned/rss/DataCharacter.java | 36 + .../google/zxing/oned/rss/FinderPattern.java | 40 + .../com/google/zxing/oned/rss/Pair.java | 24 + .../google/zxing/oned/rss/RSS14Reader.java | 373 ++ .../com/google/zxing/oned/rss/RSSUtils.java | 68 + .../oned/rss/expanded/BitArrayBuilder.java | 47 + .../zxing/oned/rss/expanded/ExpandedPair.java | 50 + .../zxing/oned/rss/expanded/ExpandedRow.java | 45 + .../oned/rss/expanded/RSSExpandedReader.java | 577 ++ .../expanded/decoders/AI013103decoder.java | 20 + .../expanded/decoders/AI01320xDecoder.java | 27 + .../expanded/decoders/AI01392xDecoder.java | 31 + .../expanded/decoders/AI01393xDecoder.java | 40 + .../expanded/decoders/AI013x0x1xDecoder.java | 70 + .../expanded/decoders/AI013x0xDecoder.java | 25 + .../expanded/decoders/AI01AndOtherAIs.java | 25 + .../rss/expanded/decoders/AI01decoder.java | 48 + .../expanded/decoders/AI01weightDecoder.java | 28 + .../decoders/AbstractExpandedDecoder.java | 70 + .../rss/expanded/decoders/AnyAIDecoder.java | 20 + .../expanded/decoders/BlockParsedResult.java | 24 + .../decoders/CurrentParsingState.java | 52 + .../rss/expanded/decoders/DecodedChar.java | 20 + .../expanded/decoders/DecodedInformation.java | 34 + .../rss/expanded/decoders/DecodedNumeric.java | 39 + .../rss/expanded/decoders/DecodedObject.java | 14 + .../rss/expanded/decoders/FieldParser.java | 92 + .../decoders/GeneralAppIdDecoder.java | 384 ++ .../com/google/zxing/pdf417/PDF417Common.java | 61 + .../com/google/zxing/pdf417/PDF417Reader.java | 95 + .../zxing/pdf417/PDF417ResultMetadata.java | 106 + .../com/google/zxing/pdf417/PDF417Writer.java | 114 + .../zxing/pdf417/decoder/BarcodeMetadata.java | 38 + .../zxing/pdf417/decoder/BarcodeValue.java | 43 + .../zxing/pdf417/decoder/BoundingBox.java | 144 + .../google/zxing/pdf417/decoder/Codeword.java | 62 + .../decoder/DecodedBitStreamParser.java | 554 ++ .../zxing/pdf417/decoder/DetectionResult.java | 257 + .../pdf417/decoder/DetectionResultColumn.java | 85 + .../DetectionResultRowIndicatorColumn.java | 200 + .../pdf417/decoder/PDF417CodewordDecoder.java | 107 + .../pdf417/decoder/PDF417ScanningDecoder.java | 683 +++ .../pdf417/decoder/ec/ErrorCorrection.java | 115 + .../zxing/pdf417/decoder/ec/ModulusGF.java | 86 + .../zxing/pdf417/decoder/ec/ModulusPoly.java | 188 + .../zxing/pdf417/detector/Detector.java | 245 + .../pdf417/detector/PDF417DetectorResult.java | 24 + .../zxing/pdf417/encoder/BarcodeMatrix.java | 48 + .../zxing/pdf417/encoder/BarcodeRow.java | 35 + .../zxing/pdf417/encoder/Compaction.java | 9 + .../zxing/pdf417/encoder/Dimensions.java | 32 + .../google/zxing/pdf417/encoder/PDF417.java | 172 + .../pdf417/encoder/PDF417ErrorCorrection.java | 68 + .../encoder/PDF417HighLevelEncoder.java | 392 ++ .../com/google/zxing/qrcode/QRCodeReader.java | 168 + .../com/google/zxing/qrcode/QRCodeWriter.java | 86 + .../zxing/qrcode/decoder/BitMatrixParser.java | 166 + .../zxing/qrcode/decoder/DataBlock.java | 78 + .../google/zxing/qrcode/decoder/DataMask.java | 67 + .../decoder/DecodedBitStreamParser.java | 316 + .../google/zxing/qrcode/decoder/Decoder.java | 105 + .../qrcode/decoder/ErrorCorrectionLevel.java | 27 + .../qrcode/decoder/FormatInformation.java | 71 + .../com/google/zxing/qrcode/decoder/Mode.java | 73 + .../qrcode/decoder/QRCodeDecoderMetaData.java | 25 + .../google/zxing/qrcode/decoder/Version.java | 166 + .../qrcode/detector/AlignmentPattern.java | 28 + .../detector/AlignmentPatternFinder.java | 164 + .../zxing/qrcode/detector/Detector.java | 246 + .../zxing/qrcode/detector/FinderPattern.java | 43 + .../qrcode/detector/FinderPatternFinder.java | 495 ++ .../qrcode/detector/FinderPatternInfo.java | 26 + .../zxing/qrcode/encoder/BlockPair.java | 20 + .../zxing/qrcode/encoder/ByteMatrix.java | 73 + .../google/zxing/qrcode/encoder/Encoder.java | 426 ++ .../google/zxing/qrcode/encoder/MaskUtil.java | 157 + .../zxing/qrcode/encoder/MatrixUtil.java | 247 + .../google/zxing/qrcode/encoder/QRCode.java | 80 + .../com/sun/source/doctree/AttributeTree.java | 24 + .../com/sun/source/doctree/AuthorTree.java | 10 + .../com/sun/source/doctree/BlockTagTree.java | 9 + .../com/sun/source/doctree/CommentTree.java | 9 + .../sun/source/doctree/DeprecatedTree.java | 10 + .../sun/source/doctree/DocCommentTree.java | 14 + .../com/sun/source/doctree/DocRootTree.java | 8 + .../com/sun/source/doctree/DocTree.java | 57 + .../sun/source/doctree/DocTreeVisitor.java | 65 + .../sun/source/doctree/EndElementTree.java | 10 + .../com/sun/source/doctree/EntityTree.java | 10 + .../com/sun/source/doctree/ErroneousTree.java | 11 + .../sun/source/doctree/IdentifierTree.java | 10 + .../sun/source/doctree/InheritDocTree.java | 8 + .../com/sun/source/doctree/InlineTagTree.java | 9 + .../com/sun/source/doctree/LinkTree.java | 12 + .../com/sun/source/doctree/LiteralTree.java | 9 + .../com/sun/source/doctree/ParamTree.java | 14 + .../com/sun/source/doctree/ReferenceTree.java | 9 + .../com/sun/source/doctree/ReturnTree.java | 10 + .../com/sun/source/doctree/SeeTree.java | 10 + .../sun/source/doctree/SerialDataTree.java | 10 + .../sun/source/doctree/SerialFieldTree.java | 14 + .../com/sun/source/doctree/SerialTree.java | 10 + .../com/sun/source/doctree/SinceTree.java | 10 + .../sun/source/doctree/StartElementTree.java | 15 + .../com/sun/source/doctree/TextTree.java | 9 + .../com/sun/source/doctree/ThrowsTree.java | 12 + .../source/doctree/UnknownBlockTagTree.java | 10 + .../source/doctree/UnknownInlineTagTree.java | 10 + .../com/sun/source/doctree/ValueTree.java | 9 + .../com/sun/source/doctree/VersionTree.java | 10 + .../sun/source/tree/AnnotatedTypeTree.java | 12 + .../com/sun/source/tree/AnnotationTree.java | 12 + .../com/sun/source/tree/ArrayAccessTree.java | 11 + .../com/sun/source/tree/ArrayTypeTree.java | 9 + .../com/sun/source/tree/AssertTree.java | 11 + .../com/sun/source/tree/AssignmentTree.java | 11 + .../com/sun/source/tree/BinaryTree.java | 11 + .../com/sun/source/tree/BlockTree.java | 12 + .../com/sun/source/tree/BreakTree.java | 10 + .../sources/com/sun/source/tree/CaseTree.java | 12 + .../com/sun/source/tree/CatchTree.java | 11 + .../com/sun/source/tree/ClassTree.java | 21 + .../sun/source/tree/CompilationUnitTree.java | 21 + .../source/tree/CompoundAssignmentTree.java | 11 + .../tree/ConditionalExpressionTree.java | 13 + .../com/sun/source/tree/ContinueTree.java | 10 + .../com/sun/source/tree/DoWhileLoopTree.java | 11 + .../sun/source/tree/EmptyStatementTree.java | 8 + .../sun/source/tree/EnhancedForLoopTree.java | 13 + .../com/sun/source/tree/ErroneousTree.java | 10 + .../source/tree/ExpressionStatementTree.java | 9 + .../com/sun/source/tree/ExpressionTree.java | 8 + .../com/sun/source/tree/ForLoopTree.java | 16 + .../com/sun/source/tree/IdentifierTree.java | 10 + base/sources/com/sun/source/tree/IfTree.java | 13 + .../com/sun/source/tree/ImportTree.java | 11 + .../com/sun/source/tree/InstanceOfTree.java | 11 + .../sun/source/tree/IntersectionTypeTree.java | 10 + .../sun/source/tree/LabeledStatementTree.java | 12 + .../sun/source/tree/LambdaExpressionTree.java | 21 + base/sources/com/sun/source/tree/LineMap.java | 15 + .../com/sun/source/tree/LiteralTree.java | 9 + .../sun/source/tree/MemberReferenceTree.java | 24 + .../com/sun/source/tree/MemberSelectTree.java | 12 + .../sun/source/tree/MethodInvocationTree.java | 14 + .../com/sun/source/tree/MethodTree.java | 27 + .../com/sun/source/tree/ModifiersTree.java | 14 + .../com/sun/source/tree/NewArrayTree.java | 18 + .../com/sun/source/tree/NewClassTree.java | 18 + .../source/tree/ParameterizedTypeTree.java | 12 + .../sun/source/tree/ParenthesizedTree.java | 9 + .../sun/source/tree/PrimitiveTypeTree.java | 10 + .../com/sun/source/tree/ReturnTree.java | 9 + base/sources/com/sun/source/tree/Scope.java | 18 + .../com/sun/source/tree/StatementTree.java | 8 + .../com/sun/source/tree/SwitchTree.java | 12 + .../com/sun/source/tree/SynchronizedTree.java | 11 + .../com/sun/source/tree/ThrowTree.java | 9 + base/sources/com/sun/source/tree/Tree.java | 126 + .../com/sun/source/tree/TreeVisitor.java | 113 + base/sources/com/sun/source/tree/TryTree.java | 16 + .../com/sun/source/tree/TypeCastTree.java | 11 + .../sun/source/tree/TypeParameterTree.java | 15 + .../com/sun/source/tree/UnaryTree.java | 9 + .../com/sun/source/tree/UnionTypeTree.java | 10 + .../com/sun/source/tree/VariableTree.java | 18 + .../com/sun/source/tree/WhileLoopTree.java | 11 + .../com/sun/source/tree/WildcardTree.java | 9 + .../sun/source/util/DocSourcePositions.java | 14 + .../com/sun/source/util/DocTreePath.java | 115 + .../sun/source/util/DocTreePathScanner.java | 37 + .../com/sun/source/util/DocTreeScanner.java | 218 + .../sources/com/sun/source/util/DocTrees.java | 34 + .../com/sun/source/util/JavacTask.java | 47 + base/sources/com/sun/source/util/Plugin.java | 11 + .../sun/source/util/SimpleDocTreeVisitor.java | 213 + .../sun/source/util/SimpleTreeVisitor.java | 357 ++ .../com/sun/source/util/SourcePositions.java | 13 + .../com/sun/source/util/TaskEvent.java | 69 + .../com/sun/source/util/TaskListener.java | 11 + .../sources/com/sun/source/util/TreePath.java | 106 + .../com/sun/source/util/TreePathScanner.java | 37 + .../com/sun/source/util/TreeScanner.java | 392 ++ base/sources/com/sun/source/util/Trees.java | 89 + .../com/sun/tools/doclint/Checker.java | 868 +++ .../com/sun/tools/doclint/DocLint.java | 335 ++ .../sources/com/sun/tools/doclint/Entity.java | 293 + base/sources/com/sun/tools/doclint/Env.java | 130 + .../com/sun/tools/doclint/HtmlTag.java | 312 + .../com/sun/tools/doclint/Messages.java | 309 + .../sun/tools/doclint/resources/doclint.java | 11 + .../tools/doclint/resources/doclint_ja.java | 11 + .../doclint/resources/doclint_zh_CN.java | 11 + base/sources/com/sun/tools/javac/Main.java | 22 + .../sun/tools/javac/api/BasicJavacTask.java | 127 + .../tools/javac/api/ClientCodeWrapper.java | 647 ++ .../tools/javac/api/DiagnosticFormatter.java | 55 + .../com/sun/tools/javac/api/Formattable.java | 32 + .../com/sun/tools/javac/api/JavacScope.java | 86 + .../sun/tools/javac/api/JavacTaskImpl.java | 446 ++ .../com/sun/tools/javac/api/JavacTool.java | 192 + .../com/sun/tools/javac/api/JavacTrees.java | 968 +++ .../com/sun/tools/javac/api/Messages.java | 11 + .../tools/javac/api/MultiTaskListener.java | 77 + .../javac/api/WrappingJavaFileManager.java | 77 + .../sun/tools/javac/code/AnnoConstruct.java | 178 + .../com/sun/tools/javac/code/Attribute.java | 435 ++ .../com/sun/tools/javac/code/BoundKind.java | 19 + .../tools/javac/code/DeferredLintHandler.java | 95 + .../com/sun/tools/javac/code/Flags.java | 232 + .../com/sun/tools/javac/code/Kinds.java | 186 + .../com/sun/tools/javac/code/Lint.java | 199 + .../com/sun/tools/javac/code/Printer.java | 396 ++ .../com/sun/tools/javac/code/Scope.java | 669 +++ .../com/sun/tools/javac/code/Source.java | 241 + .../com/sun/tools/javac/code/Symbol.java | 1725 ++++++ .../sun/tools/javac/code/SymbolMetadata.java | 323 + .../com/sun/tools/javac/code/Symtab.java | 468 ++ .../com/sun/tools/javac/code/TargetType.java | 86 + .../com/sun/tools/javac/code/Type.java | 2248 +++++++ .../javac/code/TypeAnnotationPosition.java | 222 + .../sun/tools/javac/code/TypeAnnotations.java | 990 ++++ .../com/sun/tools/javac/code/TypeTag.java | 124 + .../com/sun/tools/javac/code/Types.java | 4090 +++++++++++++ .../com/sun/tools/javac/comp/Annotate.java | 467 ++ .../com/sun/tools/javac/comp/Attr.java | 3620 ++++++++++++ .../com/sun/tools/javac/comp/AttrContext.java | 60 + .../sun/tools/javac/comp/AttrContextEnv.java | 10 + .../com/sun/tools/javac/comp/Check.java | 2656 +++++++++ .../sun/tools/javac/comp/CompileStates.java | 56 + .../com/sun/tools/javac/comp/ConstFold.java | 339 ++ .../sun/tools/javac/comp/DeferredAttr.java | 1116 ++++ .../com/sun/tools/javac/comp/Enter.java | 335 ++ .../sources/com/sun/tools/javac/comp/Env.java | 88 + .../com/sun/tools/javac/comp/Flow.java | 2236 +++++++ .../com/sun/tools/javac/comp/Infer.java | 1716 ++++++ .../sun/tools/javac/comp/LambdaToMethod.java | 1785 ++++++ .../com/sun/tools/javac/comp/Lower.java | 3082 ++++++++++ .../com/sun/tools/javac/comp/MemberEnter.java | 1134 ++++ .../com/sun/tools/javac/comp/Resolve.java | 3086 ++++++++++ .../com/sun/tools/javac/comp/Todo.java | 153 + .../com/sun/tools/javac/comp/TransTypes.java | 806 +++ .../com/sun/tools/javac/comp/TypeEnvs.java | 45 + .../sun/tools/javac/file/BaseFileObject.java | 89 + .../com/sun/tools/javac/file/CacheFSInfo.java | 87 + .../com/sun/tools/javac/file/FSInfo.java | 79 + .../tools/javac/file/JavacFileManager.java | 651 ++ .../com/sun/tools/javac/file/Locations.java | 613 ++ .../tools/javac/file/RegularFileObject.java | 207 + .../sun/tools/javac/file/RelativePath.java | 148 + .../sun/tools/javac/file/SymbolArchive.java | 73 + .../com/sun/tools/javac/file/ZipArchive.java | 241 + .../sun/tools/javac/file/ZipFileIndex.java | 986 +++ .../tools/javac/file/ZipFileIndexArchive.java | 206 + .../tools/javac/file/ZipFileIndexCache.java | 94 + .../com/sun/tools/javac/jvm/ByteCodes.java | 236 + .../com/sun/tools/javac/jvm/CRTFlags.java | 15 + .../com/sun/tools/javac/jvm/CRTable.java | 542 ++ .../com/sun/tools/javac/jvm/ClassFile.java | 113 + .../com/sun/tools/javac/jvm/ClassReader.java | 2500 ++++++++ .../com/sun/tools/javac/jvm/ClassWriter.java | 1619 +++++ .../sources/com/sun/tools/javac/jvm/Code.java | 2312 ++++++++ base/sources/com/sun/tools/javac/jvm/Gen.java | 2173 +++++++ .../com/sun/tools/javac/jvm/Items.java | 687 +++ .../com/sun/tools/javac/jvm/JNIWriter.java | 708 +++ .../sources/com/sun/tools/javac/jvm/Pool.java | 262 + .../com/sun/tools/javac/jvm/Profile.java | 75 + .../com/sun/tools/javac/jvm/Target.java | 181 + .../tools/javac/jvm/UninitializedType.java | 26 + .../com/sun/tools/javac/main/CommandLine.java | 43 + .../sun/tools/javac/main/JavaCompiler.java | 1308 ++++ .../com/sun/tools/javac/main/Main.java | 374 ++ .../com/sun/tools/javac/main/Option.java | 550 ++ .../sun/tools/javac/main/OptionHelper.java | 71 + .../javac/model/AnnotationProxyMaker.java | 262 + .../tools/javac/model/FilteredMemberList.java | 88 + .../sun/tools/javac/model/JavacElements.java | 515 ++ .../javac/model/JavacSourcePosition.java | 44 + .../com/sun/tools/javac/model/JavacTypes.java | 311 + .../tools/javac/nio/JavacPathFileManager.java | 429 ++ .../sun/tools/javac/nio/PathFileManager.java | 25 + .../sun/tools/javac/nio/PathFileObject.java | 258 + .../tools/javac/parser/DocCommentParser.java | 1124 ++++ .../sun/tools/javac/parser/JavaTokenizer.java | 584 ++ .../sun/tools/javac/parser/JavacParser.java | 3041 ++++++++++ .../tools/javac/parser/JavadocTokenizer.java | 212 + .../javac/parser/LazyDocCommentTable.java | 70 + .../com/sun/tools/javac/parser/Lexer.java | 23 + .../com/sun/tools/javac/parser/Parser.java | 14 + .../sun/tools/javac/parser/ParserFactory.java | 50 + .../com/sun/tools/javac/parser/Scanner.java | 91 + .../tools/javac/parser/ScannerFactory.java | 51 + .../com/sun/tools/javac/parser/Tokens.java | 421 ++ .../sun/tools/javac/parser/UnicodeReader.java | 186 + .../processing/AnnotationProcessingError.java | 10 + .../tools/javac/processing/JavacFiler.java | 445 ++ .../tools/javac/processing/JavacMessager.java | 169 + .../JavacProcessingEnvironment.java | 1251 ++++ .../processing/JavacRoundEnvironment.java | 112 + .../javac/processing/PrintingProcessor.java | 452 ++ .../tools/javac/processing/ServiceProxy.java | 172 + .../sun/tools/javac/resources/compiler.java | 11 + .../tools/javac/resources/compiler_ja.java | 11 + .../tools/javac/resources/compiler_zh_CN.java | 11 + .../com/sun/tools/javac/resources/javac.java | 11 + .../sun/tools/javac/resources/javac_ja.java | 11 + .../tools/javac/resources/javac_zh_CN.java | 11 + .../com/sun/tools/javac/resources/legacy.java | 11 + .../sun/tools/javac/resources/version.java | 11 + .../sun/tools/javac/sym/CreateSymbols.java | 281 + .../com/sun/tools/javac/sym/Profiles.java | 301 + .../com/sun/tools/javac/tree/DCTree.java | 863 +++ .../sun/tools/javac/tree/DocCommentTable.java | 17 + .../com/sun/tools/javac/tree/DocPretty.java | 537 ++ .../sun/tools/javac/tree/DocTreeMaker.java | 229 + .../com/sun/tools/javac/tree/EndPosTable.java | 10 + .../com/sun/tools/javac/tree/JCTree.java | 3129 ++++++++++ .../com/sun/tools/javac/tree/Pretty.java | 1412 +++++ .../com/sun/tools/javac/tree/TreeCopier.java | 594 ++ .../com/sun/tools/javac/tree/TreeInfo.java | 1249 ++++ .../com/sun/tools/javac/tree/TreeMaker.java | 844 +++ .../com/sun/tools/javac/tree/TreeScanner.java | 353 ++ .../sun/tools/javac/tree/TreeTranslator.java | 455 ++ .../com/sun/tools/javac/util/Abort.java | 13 + .../util/AbstractDiagnosticFormatter.java | 398 ++ .../com/sun/tools/javac/util/AbstractLog.java | 124 + .../com/sun/tools/javac/util/ArrayUtils.java | 52 + .../com/sun/tools/javac/util/Assert.java | 77 + .../sun/tools/javac/util/BaseFileManager.java | 309 + .../javac/util/BasicDiagnosticFormatter.java | 284 + .../com/sun/tools/javac/util/Bits.java | 266 + .../com/sun/tools/javac/util/ByteBuffer.java | 99 + .../tools/javac/util/ClientCodeException.java | 10 + .../com/sun/tools/javac/util/Constants.java | 115 + .../com/sun/tools/javac/util/Context.java | 110 + .../com/sun/tools/javac/util/Convert.java | 223 + .../tools/javac/util/DiagnosticSource.java | 155 + .../com/sun/tools/javac/util/FatalError.java | 18 + .../com/sun/tools/javac/util/Filter.java | 6 + .../util/ForwardingDiagnosticFormatter.java | 88 + .../com/sun/tools/javac/util/GraphUtils.java | 132 + .../sun/tools/javac/util/IntHashTable.java | 132 + .../sun/tools/javac/util/JCDiagnostic.java | 407 ++ .../sun/tools/javac/util/JavacMessages.java | 144 + .../tools/javac/util/LayoutCharacters.java | 13 + .../com/sun/tools/javac/util/List.java | 514 ++ .../com/sun/tools/javac/util/ListBuffer.java | 243 + .../sources/com/sun/tools/javac/util/Log.java | 549 ++ .../javac/util/MandatoryWarningHandler.java | 116 + .../com/sun/tools/javac/util/Name.java | 154 + .../com/sun/tools/javac/util/Names.java | 275 + .../com/sun/tools/javac/util/Options.java | 105 + .../com/sun/tools/javac/util/Pair.java | 37 + .../com/sun/tools/javac/util/Position.java | 230 + .../tools/javac/util/PropagatedException.java | 15 + .../javac/util/RawDiagnosticFormatter.java | 105 + .../javac/util/RichDiagnosticFormatter.java | 529 ++ .../sun/tools/javac/util/ServiceLoader.java | 349 ++ .../sun/tools/javac/util/SharedNameTable.java | 141 + .../com/sun/tools/javac/util/StringUtils.java | 28 + .../tools/javac/util/UnsharedNameTable.java | 123 + .../com/sun/tools/javac/util/Warner.java | 55 + .../d8onandroid/D8DiagnosticsHandler.java | 22 + .../r8api/AndroidDexIndexedConsumer.java | 56 + .../ArchiveClassFileResourceProvider.java | 81 + .../r8api/ArchiveProgramResourceProvider.java | 60 + .../dk/sgjesse/r8api/DescriptorUtils.java | 36 + base/sources/dk/sgjesse/r8api/FileOrigin.java | 23 + base/sources/dk/sgjesse/r8api/FileUtils.java | 11 + .../OrderedClassFileResourceProvider.java | 62 + base/sources/dk/sgjesse/r8api/ZipUtils.java | 46 + base/sources/fi/iki/elonen/NanoHTTPD.java | 1735 ++++++ base/sources/fi/iki/elonen/NanoWSD.java | 780 +++ base/sources/nl/minvws/encoding/Base45.java | 117 + build.common.gradle | 6 +- build.dependencies.gradle | 24 +- build.gradle | 4 + gradle.properties | 3 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 1844 files changed, 373299 insertions(+), 34 deletions(-) create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsList.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsListCommand.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/a.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/b.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/c.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/d.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/e.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/f.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/g.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/h.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/i.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/j.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/k.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/l.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/m.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/n.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/o.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/varhandle/VarHandleDesugaringMethods.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/K.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/L.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/M.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/N.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/O.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/P.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Q.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/S.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/T.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/U.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/V.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/W.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/X.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Y.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Z.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/A.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3679a.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3683e.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/B.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3680b.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3681c.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3682d.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/D.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/E.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/f.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/g.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/h.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/i.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/j.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/k.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/l.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/m.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/n.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/o.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/p.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/q.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/r.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/s.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/t.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/u.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/v.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/w.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/x.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/y.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/z.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/inliner/WhyAreYouNotInliningDiagnostic.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/k0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/l0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/m0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/n0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/o0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/p0.java create mode 100644 FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/r.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/R.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/IOExceptionWithUserVisibleMessage.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/ProgrammingWebHandlers.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItem.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItemMap.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareType.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareUtil.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/onbotjava/R.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Access.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AnalogInputAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidAccelerometerAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidGyroscopeAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidOrientationAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidSoundPoolAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidTextToSpeechAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkColorSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkIMUOrientationOnRobotAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AngularVelocityAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AprilTagAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUParametersAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlackboardAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlinkinPatternAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Block.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlockType.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlocksOpMode.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CRServoAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorBlobLocatorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorRangeSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CompassSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DbgLogAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DcMotorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DigitalChannelAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DistanceSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ElapsedTimeAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ExposureControlAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/FocusControlAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GainControlAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GamepadAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GoBildaPinpointAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GyroSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HardwareAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HuskyLensAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuParametersAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/IrSeekerSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLResultAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLStatusAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedEffectAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LightSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Limelight3AAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LinearOpModeAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MagneticFluxAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MatrixFAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MaxSonarI2CXLAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MiscAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cCompassSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cRangeSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/NavigationAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OctoQuadAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpenGLMatrixAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpencvAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpticalDistanceSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OrientationAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PIDFCoefficientsAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Pose2DAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PositionAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PredominantColorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PtzControlAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/QuaternionAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RangeAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Rev9AxisImuOrientationOnRobotAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevBlinkinLedDriverAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevHubOrientationOnRobotAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RumbleEffectAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoControllerAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunLEDStickAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunOTOSAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SystemAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TelemetryAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TemperatureAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TouchSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/UltrasonicSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VectorFAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VelocityAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VisionPortalAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VoltageSensorAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/WhiteBalanceControlAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/YawPitchRollAnglesAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TensorFlowAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodBaseAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCurrentGameAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCustomModelAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodRoverRuckusAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodSkyStoneAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaBaseAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaCurrentGameAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerParametersAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRelicRecoveryAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRoverRuckusAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaSkyStoneAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableDefaultListenerAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackablesAccess.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/AvailableTtsLocalesProvider.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksArchive.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksProject.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ClipboardUtil.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CorruptFileException.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CurrentGame.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileManager.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileUtil.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/Identifier.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksProject.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksUtil.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsLockManager.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsUtil.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxFolder.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxIcon.java create mode 100644 FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxUtil.java create mode 100644 FtcRobotController/base/sources/com/google/gson/DefaultDateTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/ExclusionStrategy.java create mode 100644 FtcRobotController/base/sources/com/google/gson/FieldAttributes.java create mode 100644 FtcRobotController/base/sources/com/google/gson/FieldNamingPolicy.java create mode 100644 FtcRobotController/base/sources/com/google/gson/FieldNamingStrategy.java create mode 100644 FtcRobotController/base/sources/com/google/gson/Gson.java create mode 100644 FtcRobotController/base/sources/com/google/gson/GsonBuilder.java create mode 100644 FtcRobotController/base/sources/com/google/gson/InstanceCreator.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonArray.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonDeserializationContext.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonDeserializer.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonElement.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonIOException.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonNull.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonObject.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonParseException.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonParser.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonPrimitive.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonSerializationContext.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonSerializer.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonStreamParser.java create mode 100644 FtcRobotController/base/sources/com/google/gson/JsonSyntaxException.java create mode 100644 FtcRobotController/base/sources/com/google/gson/LongSerializationPolicy.java create mode 100644 FtcRobotController/base/sources/com/google/gson/TypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/TypeAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/annotations/Expose.java create mode 100644 FtcRobotController/base/sources/com/google/gson/annotations/JsonAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/annotations/SerializedName.java create mode 100644 FtcRobotController/base/sources/com/google/gson/annotations/Since.java create mode 100644 FtcRobotController/base/sources/com/google/gson/annotations/Until.java create mode 100644 FtcRobotController/base/sources/com/google/gson/extras/examples/rawcollections/RawCollectionsExample.java create mode 100644 FtcRobotController/base/sources/com/google/gson/graph/GraphAdapterBuilder.java create mode 100644 FtcRobotController/base/sources/com/google/gson/interceptors/Intercept.java create mode 100644 FtcRobotController/base/sources/com/google/gson/interceptors/InterceptorFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/interceptors/JsonPostDeserializer.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Preconditions.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Types.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/ConstructorConstructor.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/Excluder.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/JsonReaderInternalAccess.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/LazilyParsedNumber.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/LinkedHashTreeMap.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/LinkedTreeMap.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/ObjectConstructor.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/Primitives.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/Streams.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/UnsafeAllocator.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/ArrayTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/DateTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeReader.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeWriter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/MapTypeAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/ObjectTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/SqlDateTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/TimeTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/TreeTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/TypeAdapterRuntimeTypeWrapper.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/TypeAdapters.java create mode 100644 FtcRobotController/base/sources/com/google/gson/internal/bind/util/ISO8601Utils.java create mode 100644 FtcRobotController/base/sources/com/google/gson/reflect/TypeToken.java create mode 100644 FtcRobotController/base/sources/com/google/gson/stream/JsonReader.java create mode 100644 FtcRobotController/base/sources/com/google/gson/stream/JsonScope.java create mode 100644 FtcRobotController/base/sources/com/google/gson/stream/JsonToken.java create mode 100644 FtcRobotController/base/sources/com/google/gson/stream/JsonWriter.java create mode 100644 FtcRobotController/base/sources/com/google/gson/stream/MalformedJsonException.java create mode 100644 FtcRobotController/base/sources/com/google/gson/typeadapters/PostConstructAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java create mode 100644 FtcRobotController/base/sources/com/google/gson/typeadapters/UtcDateTypeAdapter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/BarcodeFormat.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/Binarizer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/BinaryBitmap.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/ChecksumException.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/DecodeHintType.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/Dimension.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/EncodeHintType.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/FormatException.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/InvertedLuminanceSource.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/LuminanceSource.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/MultiFormatReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/MultiFormatWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/NotFoundException.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/PlanarYUVLuminanceSource.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/RGBLuminanceSource.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/ReaderException.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/Result.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/ResultMetadataType.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/ResultPoint.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/ResultPointCallback.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/WriterException.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/AztecDetectorResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/AztecReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/AztecWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/decoder/Decoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/detector/Detector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/AztecCode.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/BinaryShiftToken.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/Encoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/HighLevelEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/SimpleToken.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/State.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/aztec/encoder/Token.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/AmbientLightManager.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/BeepManager.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/BuildConfig.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/DecodeFormatManager.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/DecodeHintManager.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/InactivityTimer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/Intents.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/R.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/android/camera/open/OpenCameraInterface.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/AbstractDoCoMoResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/AddressBookAUResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/AddressBookParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/BizcardResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/CalendarParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/EmailAddressParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/EmailAddressResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/EmailDoCoMoResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ExpandedProductParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ExpandedProductResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/GeoParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/GeoResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ISBNParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ISBNResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ParsedResultType.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ProductParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ProductResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/ResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/SMSMMSResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/SMSParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/SMSTOMMSTOResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/SMTPResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/TelParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/TelResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/TextParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/URIParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/URIResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/URLTOResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/VCardResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/VEventResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/VINParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/VINResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/WifiParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/client/result/WifiResultParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/BitArray.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/BitMatrix.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/BitSource.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/CharacterSetECI.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/DecoderResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/DefaultGridSampler.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/DetectorResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/GlobalHistogramBinarizer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/GridSampler.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/HybridBinarizer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/PerspectiveTransform.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/StringUtils.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/detector/MathUtils.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/detector/MonochromeRectangleDetector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/detector/WhiteRectangleDetector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/reedsolomon/GenericGF.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/reedsolomon/GenericGFPoly.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/common/reedsolomon/ReedSolomonException.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/DataMatrixReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/DataMatrixWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/decoder/BitMatrixParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/decoder/DataBlock.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/decoder/Decoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/decoder/Version.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/detector/Detector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/ASCIIEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/Base256Encoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/C40Encoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/DataMatrixSymbolInfo144.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/DefaultPlacement.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/EdifactEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/Encoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/EncoderContext.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/ErrorCorrection.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/HighLevelEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/SymbolInfo.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/SymbolShapeHint.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/TextEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/datamatrix/encoder/X12Encoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/integration/android/IntentIntegrator.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/integration/android/IntentResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/maxicode/MaxiCodeReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/maxicode/decoder/BitMatrixParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/maxicode/decoder/DecodedBitStreamParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/maxicode/decoder/Decoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/multi/ByQuadrantReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/multi/GenericMultipleBarcodeReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/multi/MultipleBarcodeReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/multi/qrcode/QRCodeMultiReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/multi/qrcode/detector/MultiDetector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/CodaBarReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/CodaBarWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/Code128Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/Code128Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/Code39Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/Code39Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/Code93Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/Code93Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/EAN13Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/EAN13Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/EAN8Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/EAN8Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/EANManufacturerOrgSupport.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/ITFReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/ITFWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/MultiFormatOneDReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/MultiFormatUPCEANReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/OneDReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/OneDimensionalCodeWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCAReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCAWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEANExtension2Support.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEANExtension5Support.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEANExtensionSupport.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEANReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEANWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/UPCEWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/AbstractRSSReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/DataCharacter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/FinderPattern.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/Pair.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/RSS14Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/RSSUtils.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/ExpandedPair.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/ExpandedRow.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/PDF417Common.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/PDF417Reader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/PDF417ResultMetadata.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/PDF417Writer.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/BarcodeMetadata.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/BarcodeValue.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/BoundingBox.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/Codeword.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/DetectionResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/DetectionResultColumn.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/DetectionResultRowIndicatorColumn.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/PDF417CodewordDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/PDF417ScanningDecoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/ec/ErrorCorrection.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/ec/ModulusGF.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/decoder/ec/ModulusPoly.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/detector/Detector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/detector/PDF417DetectorResult.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/BarcodeMatrix.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/BarcodeRow.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/Compaction.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/Dimensions.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/PDF417.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/PDF417ErrorCorrection.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/pdf417/encoder/PDF417HighLevelEncoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/QRCodeReader.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/QRCodeWriter.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/BitMatrixParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/DataBlock.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/DataMask.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/Decoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/FormatInformation.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/Mode.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/QRCodeDecoderMetaData.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/decoder/Version.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/detector/AlignmentPattern.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/detector/Detector.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/detector/FinderPattern.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/detector/FinderPatternFinder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/detector/FinderPatternInfo.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/encoder/BlockPair.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/encoder/ByteMatrix.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/encoder/Encoder.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/encoder/MaskUtil.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/encoder/MatrixUtil.java create mode 100644 FtcRobotController/base/sources/com/google/zxing/qrcode/encoder/QRCode.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/AttributeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/AuthorTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/BlockTagTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/CommentTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/DeprecatedTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/DocCommentTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/DocRootTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/DocTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/DocTreeVisitor.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/EndElementTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/EntityTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/ErroneousTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/IdentifierTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/InheritDocTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/InlineTagTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/LinkTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/LiteralTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/ParamTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/ReferenceTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/ReturnTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/SeeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/SerialDataTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/SerialFieldTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/SerialTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/SinceTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/StartElementTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/TextTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/ThrowsTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/UnknownBlockTagTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/UnknownInlineTagTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/ValueTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/doctree/VersionTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/AnnotatedTypeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/AnnotationTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ArrayAccessTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ArrayTypeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/AssertTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/AssignmentTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/BinaryTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/BlockTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/BreakTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/CaseTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/CatchTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ClassTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/CompilationUnitTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/CompoundAssignmentTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ConditionalExpressionTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ContinueTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/DoWhileLoopTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/EmptyStatementTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/EnhancedForLoopTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ErroneousTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ExpressionStatementTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ExpressionTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ForLoopTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/IdentifierTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/IfTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ImportTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/InstanceOfTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/IntersectionTypeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/LabeledStatementTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/LambdaExpressionTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/LineMap.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/LiteralTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/MemberReferenceTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/MemberSelectTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/MethodInvocationTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/MethodTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ModifiersTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/NewArrayTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/NewClassTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ParameterizedTypeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ParenthesizedTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/PrimitiveTypeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ReturnTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/Scope.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/StatementTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/SwitchTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/SynchronizedTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/ThrowTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/Tree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/TreeVisitor.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/TryTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/TypeCastTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/TypeParameterTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/UnaryTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/UnionTypeTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/VariableTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/WhileLoopTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/tree/WildcardTree.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/DocSourcePositions.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/DocTreePath.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/DocTreePathScanner.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/DocTreeScanner.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/DocTrees.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/JavacTask.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/Plugin.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/SimpleDocTreeVisitor.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/SimpleTreeVisitor.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/SourcePositions.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/TaskEvent.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/TaskListener.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/TreePath.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/TreePathScanner.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/TreeScanner.java create mode 100644 FtcRobotController/base/sources/com/sun/source/util/Trees.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/Checker.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/DocLint.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/Entity.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/Env.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/HtmlTag.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/Messages.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/resources/doclint.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/resources/doclint_ja.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/doclint/resources/doclint_zh_CN.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/Main.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/BasicJavacTask.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/ClientCodeWrapper.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/DiagnosticFormatter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/Formattable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/JavacScope.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/JavacTaskImpl.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/JavacTool.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/JavacTrees.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/Messages.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/MultiTaskListener.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/api/WrappingJavaFileManager.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/AnnoConstruct.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Attribute.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/BoundKind.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/DeferredLintHandler.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Flags.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Kinds.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Lint.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Printer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Scope.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Source.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Symbol.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/SymbolMetadata.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Symtab.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/TargetType.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Type.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/TypeAnnotationPosition.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/TypeAnnotations.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/TypeTag.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/code/Types.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Annotate.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Attr.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/AttrContext.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/AttrContextEnv.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Check.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/CompileStates.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/ConstFold.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/DeferredAttr.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Enter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Env.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Flow.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Infer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/LambdaToMethod.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Lower.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/MemberEnter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Resolve.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/Todo.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/TransTypes.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/comp/TypeEnvs.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/BaseFileObject.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/CacheFSInfo.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/FSInfo.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/JavacFileManager.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/Locations.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/RegularFileObject.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/RelativePath.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/SymbolArchive.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/ZipArchive.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/ZipFileIndex.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/ZipFileIndexArchive.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/file/ZipFileIndexCache.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/ByteCodes.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/CRTFlags.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/CRTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/ClassFile.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/ClassReader.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/ClassWriter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/Code.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/Gen.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/Items.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/JNIWriter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/Pool.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/Profile.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/Target.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/jvm/UninitializedType.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/main/CommandLine.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/main/JavaCompiler.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/main/Main.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/main/Option.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/main/OptionHelper.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/model/AnnotationProxyMaker.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/model/FilteredMemberList.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/model/JavacElements.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/model/JavacSourcePosition.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/model/JavacTypes.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/nio/JavacPathFileManager.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/nio/PathFileManager.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/nio/PathFileObject.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/DocCommentParser.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/JavaTokenizer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/JavacParser.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/JavadocTokenizer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/LazyDocCommentTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/Lexer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/Parser.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/ParserFactory.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/Scanner.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/ScannerFactory.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/Tokens.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/parser/UnicodeReader.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/AnnotationProcessingError.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/JavacFiler.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/JavacMessager.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/JavacProcessingEnvironment.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/JavacRoundEnvironment.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/PrintingProcessor.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/processing/ServiceProxy.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/compiler.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/compiler_ja.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/compiler_zh_CN.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/javac.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/javac_ja.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/javac_zh_CN.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/legacy.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/resources/version.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/sym/CreateSymbols.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/sym/Profiles.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/DCTree.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/DocCommentTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/DocPretty.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/DocTreeMaker.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/EndPosTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/JCTree.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/Pretty.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/TreeCopier.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/TreeInfo.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/TreeMaker.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/TreeScanner.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/tree/TreeTranslator.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Abort.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/AbstractLog.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/ArrayUtils.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Assert.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/BaseFileManager.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/BasicDiagnosticFormatter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Bits.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/ByteBuffer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/ClientCodeException.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Constants.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Context.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Convert.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/DiagnosticSource.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/FatalError.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Filter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/GraphUtils.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/IntHashTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/JCDiagnostic.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/JavacMessages.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/LayoutCharacters.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/List.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/ListBuffer.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Log.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/MandatoryWarningHandler.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Name.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Names.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Options.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Pair.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Position.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/PropagatedException.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/RawDiagnosticFormatter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/RichDiagnosticFormatter.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/ServiceLoader.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/SharedNameTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/StringUtils.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/UnsharedNameTable.java create mode 100644 FtcRobotController/base/sources/com/sun/tools/javac/util/Warner.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/d8onandroid/D8DiagnosticsHandler.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/AndroidDexIndexedConsumer.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/ArchiveClassFileResourceProvider.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/ArchiveProgramResourceProvider.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/DescriptorUtils.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/FileOrigin.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/FileUtils.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/OrderedClassFileResourceProvider.java create mode 100644 FtcRobotController/base/sources/dk/sgjesse/r8api/ZipUtils.java create mode 100644 FtcRobotController/base/sources/fi/iki/elonen/NanoHTTPD.java create mode 100644 FtcRobotController/base/sources/fi/iki/elonen/NanoWSD.java create mode 100644 FtcRobotController/base/sources/nl/minvws/encoding/Base45.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/KotlinTeleOp.kt create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/AlignToTag.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/AprilTagAlignPedroAuto.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/AprilTagAlignPedroTeleOp.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/AprilTagAligner.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/ArtifactHandlingSystem.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/CameraTest.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/ColorDetection.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/ConceptAprilTag.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/DecodeAuto.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/DriveTrain.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/GoBildaPinpointDriver.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/LinearSlideTest.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/Odometry.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/PedroPathing.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/RobotControls.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/SimpleAprilTagHelper.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/SimplePIDController.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/TeleOpConstants.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/TeleopBlue.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/TeleopOffseason.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/TeleopRed.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/slideConstants.java create mode 100644 base/sources/com/android/tools/r8/dex/code/A.java create mode 100644 base/sources/com/android/tools/r8/dex/code/A0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/A1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/A2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/A3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/B.java create mode 100644 base/sources/com/android/tools/r8/dex/code/B0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/B1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/B2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/B3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/C.java create mode 100644 base/sources/com/android/tools/r8/dex/code/C0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/C1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/C2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/C3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/D.java create mode 100644 base/sources/com/android/tools/r8/dex/code/D0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/D1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/D2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/D3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/E.java create mode 100644 base/sources/com/android/tools/r8/dex/code/E0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/E1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/E2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/E3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/F.java create mode 100644 base/sources/com/android/tools/r8/dex/code/F0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/F1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/F2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/F3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/G.java create mode 100644 base/sources/com/android/tools/r8/dex/code/G0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/G1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/G2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/G3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/H.java create mode 100644 base/sources/com/android/tools/r8/dex/code/H0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/H1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/H2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/H3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/I.java create mode 100644 base/sources/com/android/tools/r8/dex/code/I0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/I1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/I2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/I3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/J.java create mode 100644 base/sources/com/android/tools/r8/dex/code/J0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/J1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/J2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/J3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/K.java create mode 100644 base/sources/com/android/tools/r8/dex/code/K0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/K1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/K2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/K3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/L.java create mode 100644 base/sources/com/android/tools/r8/dex/code/L0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/L1.java create mode 100644 base/sources/com/android/tools/r8/dex/code/L2.java create mode 100644 base/sources/com/android/tools/r8/dex/code/L3.java create mode 100644 base/sources/com/android/tools/r8/dex/code/M.java create mode 100644 base/sources/com/android/tools/r8/dex/code/M0.java create mode 100644 base/sources/com/android/tools/r8/dex/code/N.java create mode 100644 base/sources/com/android/tools/r8/dex/code/O.java create mode 100644 base/sources/com/android/tools/r8/dex/code/P.java create mode 100644 base/sources/com/android/tools/r8/dex/code/Q.java create mode 100644 base/sources/com/android/tools/r8/dex/code/S.java create mode 100644 base/sources/com/android/tools/r8/dex/code/T.java create mode 100644 base/sources/com/android/tools/r8/dex/code/U.java create mode 100644 base/sources/com/android/tools/r8/dex/code/V.java create mode 100644 base/sources/com/android/tools/r8/dex/code/W.java create mode 100644 base/sources/com/android/tools/r8/dex/code/X.java create mode 100644 base/sources/com/android/tools/r8/dex/code/Y.java create mode 100644 base/sources/com/android/tools/r8/dex/code/Z.java create mode 100644 base/sources/com/android/tools/r8/dex/code/a4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/b4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/c4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/d4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/e4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/f4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/g4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/h4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/i4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/j4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/k4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/l4.java create mode 100644 base/sources/com/android/tools/r8/dex/code/r.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsList.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsListCommand.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/a.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/b.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/c.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/d.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/e.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/f.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/g.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/h.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/i.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/j.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/k.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/l.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/m.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/n.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/o.java create mode 100644 base/sources/com/android/tools/r8/ir/desugar/varhandle/VarHandleDesugaringMethods.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/A.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/A0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/AbstractC3664d.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/AbstractC3665d0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/AbstractC3672f0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/AbstractC3674g0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/AbstractC3675h.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/AbstractC3699t.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/B.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/B0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3658a.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3659a0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3660b.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3661b0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3663c0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3666e.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3667e0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3670f.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3673g.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3676h0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3677i.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3678i0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3684j.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3685j0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3686k.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3687l.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3688m.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3689n.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3690o.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3691p.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3692q.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3698s.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3700u.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3701v.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3702w.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3712w$$ExternalSyntheticLambda8.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3714x.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3715y.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/C3716z.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/D.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/D0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/E.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/E0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/F.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/F0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/G.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/G0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/H$$ExternalSyntheticBackport0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/H.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/H0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/I.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/I0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/InterfaceC3662c.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/J.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/J0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/K.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/L.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/M.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/N.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/O.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/P.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/Q.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/S.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/ServiceLoaderRewriterDiagnostic.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/T.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/U.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/V.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/W.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/X.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/Y.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/Z.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/c0$$ExternalSyntheticLambda1.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/A.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3679a.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3683e.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/B.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/C.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/C3680b.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/C3681c.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/C3682d.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/D.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/E.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/f.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/g.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/h.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/i.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/j.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/k.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/l.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/m.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/n.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/o.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/p.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/q.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/r.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/s.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/t.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/u.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/v.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/w.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/x.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/y.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/info/z.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/inliner/WhyAreYouNotInliningDiagnostic.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/j$$ExternalSyntheticLambda4.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/j0$$ExternalSyntheticLambda1.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/k0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/l0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/m0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/n0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/o0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/p0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/q0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/r.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/r0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/s0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/t0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/u0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/v$$ExternalSyntheticLambda0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/v0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/w0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/x0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/y0.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/z$$ExternalSyntheticLambda3.java create mode 100644 base/sources/com/android/tools/r8/ir/optimize/z0.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/a.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/b.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/c.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/d.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/e.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/f.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/g.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/h.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/i.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/j.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/k.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/l.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/m.java create mode 100644 base/sources/com/android/tools/r8/ir/regalloc/n.java create mode 100644 base/sources/com/google/blocks/R.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/IOExceptionWithUserVisibleMessage.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/ProgrammingWebHandlers.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItem.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItemMap.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareType.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareUtil.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/onbotjava/R.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/Access.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AnalogInputAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidAccelerometerAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidGyroscopeAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidOrientationAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidSoundPoolAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidTextToSpeechAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkColorSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkIMUOrientationOnRobotAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AngularVelocityAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/AprilTagAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUParametersAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlackboardAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlinkinPatternAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/Block.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlockType.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlocksOpMode.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/CRServoAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorBlobLocatorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorRangeSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/CompassSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/DbgLogAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/DcMotorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/DigitalChannelAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/DistanceSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ElapsedTimeAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ExposureControlAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/FocusControlAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/GainControlAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/GamepadAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/GoBildaPinpointAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/GyroSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/HardwareAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/HuskyLensAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuParametersAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/IrSeekerSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLResultAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLStatusAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedEffectAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/LightSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/Limelight3AAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/LinearOpModeAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/MagneticFluxAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/MatrixFAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/MaxSonarI2CXLAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/MiscAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cCompassSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cRangeSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/NavigationAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/OctoQuadAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpenGLMatrixAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpencvAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpticalDistanceSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/OrientationAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/PIDFCoefficientsAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/Pose2DAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/PositionAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/PredominantColorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/PtzControlAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/QuaternionAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/RangeAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/Rev9AxisImuOrientationOnRobotAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevBlinkinLedDriverAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevHubOrientationOnRobotAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/RumbleEffectAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoControllerAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunLEDStickAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunOTOSAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/SystemAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/TelemetryAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/TemperatureAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/TouchSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/UltrasonicSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/VectorFAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/VelocityAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/VisionPortalAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/VoltageSensorAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/WhiteBalanceControlAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/YawPitchRollAnglesAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TensorFlowAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodBaseAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCurrentGameAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCustomModelAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodRoverRuckusAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodSkyStoneAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaBaseAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaCurrentGameAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerParametersAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRelicRecoveryAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRoverRuckusAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaSkyStoneAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableDefaultListenerAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackablesAccess.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/AvailableTtsLocalesProvider.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksArchive.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksProject.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/ClipboardUtil.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/CorruptFileException.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/CurrentGame.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/FileManager.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/FileUtil.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/Identifier.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksProject.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksUtil.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsLockManager.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsUtil.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxFolder.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxIcon.java create mode 100644 base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxUtil.java create mode 100644 base/sources/com/google/gson/DefaultDateTypeAdapter.java create mode 100644 base/sources/com/google/gson/ExclusionStrategy.java create mode 100644 base/sources/com/google/gson/FieldAttributes.java create mode 100644 base/sources/com/google/gson/FieldNamingPolicy.java create mode 100644 base/sources/com/google/gson/FieldNamingStrategy.java create mode 100644 base/sources/com/google/gson/Gson.java create mode 100644 base/sources/com/google/gson/GsonBuilder.java create mode 100644 base/sources/com/google/gson/InstanceCreator.java create mode 100644 base/sources/com/google/gson/JsonArray.java create mode 100644 base/sources/com/google/gson/JsonDeserializationContext.java create mode 100644 base/sources/com/google/gson/JsonDeserializer.java create mode 100644 base/sources/com/google/gson/JsonElement.java create mode 100644 base/sources/com/google/gson/JsonIOException.java create mode 100644 base/sources/com/google/gson/JsonNull.java create mode 100644 base/sources/com/google/gson/JsonObject.java create mode 100644 base/sources/com/google/gson/JsonParseException.java create mode 100644 base/sources/com/google/gson/JsonParser.java create mode 100644 base/sources/com/google/gson/JsonPrimitive.java create mode 100644 base/sources/com/google/gson/JsonSerializationContext.java create mode 100644 base/sources/com/google/gson/JsonSerializer.java create mode 100644 base/sources/com/google/gson/JsonStreamParser.java create mode 100644 base/sources/com/google/gson/JsonSyntaxException.java create mode 100644 base/sources/com/google/gson/LongSerializationPolicy.java create mode 100644 base/sources/com/google/gson/TypeAdapter.java create mode 100644 base/sources/com/google/gson/TypeAdapterFactory.java create mode 100644 base/sources/com/google/gson/annotations/Expose.java create mode 100644 base/sources/com/google/gson/annotations/JsonAdapter.java create mode 100644 base/sources/com/google/gson/annotations/SerializedName.java create mode 100644 base/sources/com/google/gson/annotations/Since.java create mode 100644 base/sources/com/google/gson/annotations/Until.java create mode 100644 base/sources/com/google/gson/extras/examples/rawcollections/RawCollectionsExample.java create mode 100644 base/sources/com/google/gson/graph/GraphAdapterBuilder.java create mode 100644 base/sources/com/google/gson/interceptors/Intercept.java create mode 100644 base/sources/com/google/gson/interceptors/InterceptorFactory.java create mode 100644 base/sources/com/google/gson/interceptors/JsonPostDeserializer.java create mode 100644 base/sources/com/google/gson/internal/C$Gson$Preconditions.java create mode 100644 base/sources/com/google/gson/internal/C$Gson$Types.java create mode 100644 base/sources/com/google/gson/internal/ConstructorConstructor.java create mode 100644 base/sources/com/google/gson/internal/Excluder.java create mode 100644 base/sources/com/google/gson/internal/JsonReaderInternalAccess.java create mode 100644 base/sources/com/google/gson/internal/LazilyParsedNumber.java create mode 100644 base/sources/com/google/gson/internal/LinkedHashTreeMap.java create mode 100644 base/sources/com/google/gson/internal/LinkedTreeMap.java create mode 100644 base/sources/com/google/gson/internal/ObjectConstructor.java create mode 100644 base/sources/com/google/gson/internal/Primitives.java create mode 100644 base/sources/com/google/gson/internal/Streams.java create mode 100644 base/sources/com/google/gson/internal/UnsafeAllocator.java create mode 100644 base/sources/com/google/gson/internal/bind/ArrayTypeAdapter.java create mode 100644 base/sources/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java create mode 100644 base/sources/com/google/gson/internal/bind/DateTypeAdapter.java create mode 100644 base/sources/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java create mode 100644 base/sources/com/google/gson/internal/bind/JsonTreeReader.java create mode 100644 base/sources/com/google/gson/internal/bind/JsonTreeWriter.java create mode 100644 base/sources/com/google/gson/internal/bind/MapTypeAdapterFactory.java create mode 100644 base/sources/com/google/gson/internal/bind/ObjectTypeAdapter.java create mode 100644 base/sources/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java create mode 100644 base/sources/com/google/gson/internal/bind/SqlDateTypeAdapter.java create mode 100644 base/sources/com/google/gson/internal/bind/TimeTypeAdapter.java create mode 100644 base/sources/com/google/gson/internal/bind/TreeTypeAdapter.java create mode 100644 base/sources/com/google/gson/internal/bind/TypeAdapterRuntimeTypeWrapper.java create mode 100644 base/sources/com/google/gson/internal/bind/TypeAdapters.java create mode 100644 base/sources/com/google/gson/internal/bind/util/ISO8601Utils.java create mode 100644 base/sources/com/google/gson/reflect/TypeToken.java create mode 100644 base/sources/com/google/gson/stream/JsonReader.java create mode 100644 base/sources/com/google/gson/stream/JsonScope.java create mode 100644 base/sources/com/google/gson/stream/JsonToken.java create mode 100644 base/sources/com/google/gson/stream/JsonWriter.java create mode 100644 base/sources/com/google/gson/stream/MalformedJsonException.java create mode 100644 base/sources/com/google/gson/typeadapters/PostConstructAdapterFactory.java create mode 100644 base/sources/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java create mode 100644 base/sources/com/google/gson/typeadapters/UtcDateTypeAdapter.java create mode 100644 base/sources/com/google/zxing/BarcodeFormat.java create mode 100644 base/sources/com/google/zxing/Binarizer.java create mode 100644 base/sources/com/google/zxing/BinaryBitmap.java create mode 100644 base/sources/com/google/zxing/ChecksumException.java create mode 100644 base/sources/com/google/zxing/DecodeHintType.java create mode 100644 base/sources/com/google/zxing/Dimension.java create mode 100644 base/sources/com/google/zxing/EncodeHintType.java create mode 100644 base/sources/com/google/zxing/FormatException.java create mode 100644 base/sources/com/google/zxing/InvertedLuminanceSource.java create mode 100644 base/sources/com/google/zxing/LuminanceSource.java create mode 100644 base/sources/com/google/zxing/MultiFormatReader.java create mode 100644 base/sources/com/google/zxing/MultiFormatWriter.java create mode 100644 base/sources/com/google/zxing/NotFoundException.java create mode 100644 base/sources/com/google/zxing/PlanarYUVLuminanceSource.java create mode 100644 base/sources/com/google/zxing/RGBLuminanceSource.java create mode 100644 base/sources/com/google/zxing/Reader.java create mode 100644 base/sources/com/google/zxing/ReaderException.java create mode 100644 base/sources/com/google/zxing/Result.java create mode 100644 base/sources/com/google/zxing/ResultMetadataType.java create mode 100644 base/sources/com/google/zxing/ResultPoint.java create mode 100644 base/sources/com/google/zxing/ResultPointCallback.java create mode 100644 base/sources/com/google/zxing/Writer.java create mode 100644 base/sources/com/google/zxing/WriterException.java create mode 100644 base/sources/com/google/zxing/aztec/AztecDetectorResult.java create mode 100644 base/sources/com/google/zxing/aztec/AztecReader.java create mode 100644 base/sources/com/google/zxing/aztec/AztecWriter.java create mode 100644 base/sources/com/google/zxing/aztec/decoder/Decoder.java create mode 100644 base/sources/com/google/zxing/aztec/detector/Detector.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/AztecCode.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/BinaryShiftToken.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/Encoder.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/HighLevelEncoder.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/SimpleToken.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/State.java create mode 100644 base/sources/com/google/zxing/aztec/encoder/Token.java create mode 100644 base/sources/com/google/zxing/client/android/AmbientLightManager.java create mode 100644 base/sources/com/google/zxing/client/android/BeepManager.java create mode 100644 base/sources/com/google/zxing/client/android/BuildConfig.java create mode 100644 base/sources/com/google/zxing/client/android/DecodeFormatManager.java create mode 100644 base/sources/com/google/zxing/client/android/DecodeHintManager.java create mode 100644 base/sources/com/google/zxing/client/android/InactivityTimer.java create mode 100644 base/sources/com/google/zxing/client/android/Intents.java create mode 100644 base/sources/com/google/zxing/client/android/R.java create mode 100644 base/sources/com/google/zxing/client/android/camera/open/OpenCameraInterface.java create mode 100644 base/sources/com/google/zxing/client/result/AbstractDoCoMoResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/AddressBookAUResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/AddressBookParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/BizcardResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/CalendarParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/EmailAddressParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/EmailAddressResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/EmailDoCoMoResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/ExpandedProductParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/ExpandedProductResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/GeoParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/GeoResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/ISBNParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/ISBNResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/ParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/ParsedResultType.java create mode 100644 base/sources/com/google/zxing/client/result/ProductParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/ProductResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/ResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/SMSMMSResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/SMSParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/SMSTOMMSTOResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/SMTPResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/TelParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/TelResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/TextParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/URIParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/URIResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/URLTOResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/VCardResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/VEventResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/VINParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/VINResultParser.java create mode 100644 base/sources/com/google/zxing/client/result/WifiParsedResult.java create mode 100644 base/sources/com/google/zxing/client/result/WifiResultParser.java create mode 100644 base/sources/com/google/zxing/common/BitArray.java create mode 100644 base/sources/com/google/zxing/common/BitMatrix.java create mode 100644 base/sources/com/google/zxing/common/BitSource.java create mode 100644 base/sources/com/google/zxing/common/CharacterSetECI.java create mode 100644 base/sources/com/google/zxing/common/DecoderResult.java create mode 100644 base/sources/com/google/zxing/common/DefaultGridSampler.java create mode 100644 base/sources/com/google/zxing/common/DetectorResult.java create mode 100644 base/sources/com/google/zxing/common/GlobalHistogramBinarizer.java create mode 100644 base/sources/com/google/zxing/common/GridSampler.java create mode 100644 base/sources/com/google/zxing/common/HybridBinarizer.java create mode 100644 base/sources/com/google/zxing/common/PerspectiveTransform.java create mode 100644 base/sources/com/google/zxing/common/StringUtils.java create mode 100644 base/sources/com/google/zxing/common/detector/MathUtils.java create mode 100644 base/sources/com/google/zxing/common/detector/MonochromeRectangleDetector.java create mode 100644 base/sources/com/google/zxing/common/detector/WhiteRectangleDetector.java create mode 100644 base/sources/com/google/zxing/common/reedsolomon/GenericGF.java create mode 100644 base/sources/com/google/zxing/common/reedsolomon/GenericGFPoly.java create mode 100644 base/sources/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java create mode 100644 base/sources/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java create mode 100644 base/sources/com/google/zxing/common/reedsolomon/ReedSolomonException.java create mode 100644 base/sources/com/google/zxing/datamatrix/DataMatrixReader.java create mode 100644 base/sources/com/google/zxing/datamatrix/DataMatrixWriter.java create mode 100644 base/sources/com/google/zxing/datamatrix/decoder/BitMatrixParser.java create mode 100644 base/sources/com/google/zxing/datamatrix/decoder/DataBlock.java create mode 100644 base/sources/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java create mode 100644 base/sources/com/google/zxing/datamatrix/decoder/Decoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/decoder/Version.java create mode 100644 base/sources/com/google/zxing/datamatrix/detector/Detector.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/ASCIIEncoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/Base256Encoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/C40Encoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/DataMatrixSymbolInfo144.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/DefaultPlacement.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/EdifactEncoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/Encoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/EncoderContext.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/ErrorCorrection.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/HighLevelEncoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/SymbolInfo.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/SymbolShapeHint.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/TextEncoder.java create mode 100644 base/sources/com/google/zxing/datamatrix/encoder/X12Encoder.java create mode 100644 base/sources/com/google/zxing/integration/android/IntentIntegrator.java create mode 100644 base/sources/com/google/zxing/integration/android/IntentResult.java create mode 100644 base/sources/com/google/zxing/maxicode/MaxiCodeReader.java create mode 100644 base/sources/com/google/zxing/maxicode/decoder/BitMatrixParser.java create mode 100644 base/sources/com/google/zxing/maxicode/decoder/DecodedBitStreamParser.java create mode 100644 base/sources/com/google/zxing/maxicode/decoder/Decoder.java create mode 100644 base/sources/com/google/zxing/multi/ByQuadrantReader.java create mode 100644 base/sources/com/google/zxing/multi/GenericMultipleBarcodeReader.java create mode 100644 base/sources/com/google/zxing/multi/MultipleBarcodeReader.java create mode 100644 base/sources/com/google/zxing/multi/qrcode/QRCodeMultiReader.java create mode 100644 base/sources/com/google/zxing/multi/qrcode/detector/MultiDetector.java create mode 100644 base/sources/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java create mode 100644 base/sources/com/google/zxing/oned/CodaBarReader.java create mode 100644 base/sources/com/google/zxing/oned/CodaBarWriter.java create mode 100644 base/sources/com/google/zxing/oned/Code128Reader.java create mode 100644 base/sources/com/google/zxing/oned/Code128Writer.java create mode 100644 base/sources/com/google/zxing/oned/Code39Reader.java create mode 100644 base/sources/com/google/zxing/oned/Code39Writer.java create mode 100644 base/sources/com/google/zxing/oned/Code93Reader.java create mode 100644 base/sources/com/google/zxing/oned/Code93Writer.java create mode 100644 base/sources/com/google/zxing/oned/EAN13Reader.java create mode 100644 base/sources/com/google/zxing/oned/EAN13Writer.java create mode 100644 base/sources/com/google/zxing/oned/EAN8Reader.java create mode 100644 base/sources/com/google/zxing/oned/EAN8Writer.java create mode 100644 base/sources/com/google/zxing/oned/EANManufacturerOrgSupport.java create mode 100644 base/sources/com/google/zxing/oned/ITFReader.java create mode 100644 base/sources/com/google/zxing/oned/ITFWriter.java create mode 100644 base/sources/com/google/zxing/oned/MultiFormatOneDReader.java create mode 100644 base/sources/com/google/zxing/oned/MultiFormatUPCEANReader.java create mode 100644 base/sources/com/google/zxing/oned/OneDReader.java create mode 100644 base/sources/com/google/zxing/oned/OneDimensionalCodeWriter.java create mode 100644 base/sources/com/google/zxing/oned/UPCAReader.java create mode 100644 base/sources/com/google/zxing/oned/UPCAWriter.java create mode 100644 base/sources/com/google/zxing/oned/UPCEANExtension2Support.java create mode 100644 base/sources/com/google/zxing/oned/UPCEANExtension5Support.java create mode 100644 base/sources/com/google/zxing/oned/UPCEANExtensionSupport.java create mode 100644 base/sources/com/google/zxing/oned/UPCEANReader.java create mode 100644 base/sources/com/google/zxing/oned/UPCEANWriter.java create mode 100644 base/sources/com/google/zxing/oned/UPCEReader.java create mode 100644 base/sources/com/google/zxing/oned/UPCEWriter.java create mode 100644 base/sources/com/google/zxing/oned/rss/AbstractRSSReader.java create mode 100644 base/sources/com/google/zxing/oned/rss/DataCharacter.java create mode 100644 base/sources/com/google/zxing/oned/rss/FinderPattern.java create mode 100644 base/sources/com/google/zxing/oned/rss/Pair.java create mode 100644 base/sources/com/google/zxing/oned/rss/RSS14Reader.java create mode 100644 base/sources/com/google/zxing/oned/rss/RSSUtils.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/ExpandedPair.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/ExpandedRow.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java create mode 100644 base/sources/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java create mode 100644 base/sources/com/google/zxing/pdf417/PDF417Common.java create mode 100644 base/sources/com/google/zxing/pdf417/PDF417Reader.java create mode 100644 base/sources/com/google/zxing/pdf417/PDF417ResultMetadata.java create mode 100644 base/sources/com/google/zxing/pdf417/PDF417Writer.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/BarcodeMetadata.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/BarcodeValue.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/BoundingBox.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/Codeword.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/DetectionResult.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/DetectionResultColumn.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/DetectionResultRowIndicatorColumn.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/PDF417CodewordDecoder.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/PDF417ScanningDecoder.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/ec/ErrorCorrection.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/ec/ModulusGF.java create mode 100644 base/sources/com/google/zxing/pdf417/decoder/ec/ModulusPoly.java create mode 100644 base/sources/com/google/zxing/pdf417/detector/Detector.java create mode 100644 base/sources/com/google/zxing/pdf417/detector/PDF417DetectorResult.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/BarcodeMatrix.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/BarcodeRow.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/Compaction.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/Dimensions.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/PDF417.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/PDF417ErrorCorrection.java create mode 100644 base/sources/com/google/zxing/pdf417/encoder/PDF417HighLevelEncoder.java create mode 100644 base/sources/com/google/zxing/qrcode/QRCodeReader.java create mode 100644 base/sources/com/google/zxing/qrcode/QRCodeWriter.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/BitMatrixParser.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/DataBlock.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/DataMask.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/Decoder.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/FormatInformation.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/Mode.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/QRCodeDecoderMetaData.java create mode 100644 base/sources/com/google/zxing/qrcode/decoder/Version.java create mode 100644 base/sources/com/google/zxing/qrcode/detector/AlignmentPattern.java create mode 100644 base/sources/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java create mode 100644 base/sources/com/google/zxing/qrcode/detector/Detector.java create mode 100644 base/sources/com/google/zxing/qrcode/detector/FinderPattern.java create mode 100644 base/sources/com/google/zxing/qrcode/detector/FinderPatternFinder.java create mode 100644 base/sources/com/google/zxing/qrcode/detector/FinderPatternInfo.java create mode 100644 base/sources/com/google/zxing/qrcode/encoder/BlockPair.java create mode 100644 base/sources/com/google/zxing/qrcode/encoder/ByteMatrix.java create mode 100644 base/sources/com/google/zxing/qrcode/encoder/Encoder.java create mode 100644 base/sources/com/google/zxing/qrcode/encoder/MaskUtil.java create mode 100644 base/sources/com/google/zxing/qrcode/encoder/MatrixUtil.java create mode 100644 base/sources/com/google/zxing/qrcode/encoder/QRCode.java create mode 100644 base/sources/com/sun/source/doctree/AttributeTree.java create mode 100644 base/sources/com/sun/source/doctree/AuthorTree.java create mode 100644 base/sources/com/sun/source/doctree/BlockTagTree.java create mode 100644 base/sources/com/sun/source/doctree/CommentTree.java create mode 100644 base/sources/com/sun/source/doctree/DeprecatedTree.java create mode 100644 base/sources/com/sun/source/doctree/DocCommentTree.java create mode 100644 base/sources/com/sun/source/doctree/DocRootTree.java create mode 100644 base/sources/com/sun/source/doctree/DocTree.java create mode 100644 base/sources/com/sun/source/doctree/DocTreeVisitor.java create mode 100644 base/sources/com/sun/source/doctree/EndElementTree.java create mode 100644 base/sources/com/sun/source/doctree/EntityTree.java create mode 100644 base/sources/com/sun/source/doctree/ErroneousTree.java create mode 100644 base/sources/com/sun/source/doctree/IdentifierTree.java create mode 100644 base/sources/com/sun/source/doctree/InheritDocTree.java create mode 100644 base/sources/com/sun/source/doctree/InlineTagTree.java create mode 100644 base/sources/com/sun/source/doctree/LinkTree.java create mode 100644 base/sources/com/sun/source/doctree/LiteralTree.java create mode 100644 base/sources/com/sun/source/doctree/ParamTree.java create mode 100644 base/sources/com/sun/source/doctree/ReferenceTree.java create mode 100644 base/sources/com/sun/source/doctree/ReturnTree.java create mode 100644 base/sources/com/sun/source/doctree/SeeTree.java create mode 100644 base/sources/com/sun/source/doctree/SerialDataTree.java create mode 100644 base/sources/com/sun/source/doctree/SerialFieldTree.java create mode 100644 base/sources/com/sun/source/doctree/SerialTree.java create mode 100644 base/sources/com/sun/source/doctree/SinceTree.java create mode 100644 base/sources/com/sun/source/doctree/StartElementTree.java create mode 100644 base/sources/com/sun/source/doctree/TextTree.java create mode 100644 base/sources/com/sun/source/doctree/ThrowsTree.java create mode 100644 base/sources/com/sun/source/doctree/UnknownBlockTagTree.java create mode 100644 base/sources/com/sun/source/doctree/UnknownInlineTagTree.java create mode 100644 base/sources/com/sun/source/doctree/ValueTree.java create mode 100644 base/sources/com/sun/source/doctree/VersionTree.java create mode 100644 base/sources/com/sun/source/tree/AnnotatedTypeTree.java create mode 100644 base/sources/com/sun/source/tree/AnnotationTree.java create mode 100644 base/sources/com/sun/source/tree/ArrayAccessTree.java create mode 100644 base/sources/com/sun/source/tree/ArrayTypeTree.java create mode 100644 base/sources/com/sun/source/tree/AssertTree.java create mode 100644 base/sources/com/sun/source/tree/AssignmentTree.java create mode 100644 base/sources/com/sun/source/tree/BinaryTree.java create mode 100644 base/sources/com/sun/source/tree/BlockTree.java create mode 100644 base/sources/com/sun/source/tree/BreakTree.java create mode 100644 base/sources/com/sun/source/tree/CaseTree.java create mode 100644 base/sources/com/sun/source/tree/CatchTree.java create mode 100644 base/sources/com/sun/source/tree/ClassTree.java create mode 100644 base/sources/com/sun/source/tree/CompilationUnitTree.java create mode 100644 base/sources/com/sun/source/tree/CompoundAssignmentTree.java create mode 100644 base/sources/com/sun/source/tree/ConditionalExpressionTree.java create mode 100644 base/sources/com/sun/source/tree/ContinueTree.java create mode 100644 base/sources/com/sun/source/tree/DoWhileLoopTree.java create mode 100644 base/sources/com/sun/source/tree/EmptyStatementTree.java create mode 100644 base/sources/com/sun/source/tree/EnhancedForLoopTree.java create mode 100644 base/sources/com/sun/source/tree/ErroneousTree.java create mode 100644 base/sources/com/sun/source/tree/ExpressionStatementTree.java create mode 100644 base/sources/com/sun/source/tree/ExpressionTree.java create mode 100644 base/sources/com/sun/source/tree/ForLoopTree.java create mode 100644 base/sources/com/sun/source/tree/IdentifierTree.java create mode 100644 base/sources/com/sun/source/tree/IfTree.java create mode 100644 base/sources/com/sun/source/tree/ImportTree.java create mode 100644 base/sources/com/sun/source/tree/InstanceOfTree.java create mode 100644 base/sources/com/sun/source/tree/IntersectionTypeTree.java create mode 100644 base/sources/com/sun/source/tree/LabeledStatementTree.java create mode 100644 base/sources/com/sun/source/tree/LambdaExpressionTree.java create mode 100644 base/sources/com/sun/source/tree/LineMap.java create mode 100644 base/sources/com/sun/source/tree/LiteralTree.java create mode 100644 base/sources/com/sun/source/tree/MemberReferenceTree.java create mode 100644 base/sources/com/sun/source/tree/MemberSelectTree.java create mode 100644 base/sources/com/sun/source/tree/MethodInvocationTree.java create mode 100644 base/sources/com/sun/source/tree/MethodTree.java create mode 100644 base/sources/com/sun/source/tree/ModifiersTree.java create mode 100644 base/sources/com/sun/source/tree/NewArrayTree.java create mode 100644 base/sources/com/sun/source/tree/NewClassTree.java create mode 100644 base/sources/com/sun/source/tree/ParameterizedTypeTree.java create mode 100644 base/sources/com/sun/source/tree/ParenthesizedTree.java create mode 100644 base/sources/com/sun/source/tree/PrimitiveTypeTree.java create mode 100644 base/sources/com/sun/source/tree/ReturnTree.java create mode 100644 base/sources/com/sun/source/tree/Scope.java create mode 100644 base/sources/com/sun/source/tree/StatementTree.java create mode 100644 base/sources/com/sun/source/tree/SwitchTree.java create mode 100644 base/sources/com/sun/source/tree/SynchronizedTree.java create mode 100644 base/sources/com/sun/source/tree/ThrowTree.java create mode 100644 base/sources/com/sun/source/tree/Tree.java create mode 100644 base/sources/com/sun/source/tree/TreeVisitor.java create mode 100644 base/sources/com/sun/source/tree/TryTree.java create mode 100644 base/sources/com/sun/source/tree/TypeCastTree.java create mode 100644 base/sources/com/sun/source/tree/TypeParameterTree.java create mode 100644 base/sources/com/sun/source/tree/UnaryTree.java create mode 100644 base/sources/com/sun/source/tree/UnionTypeTree.java create mode 100644 base/sources/com/sun/source/tree/VariableTree.java create mode 100644 base/sources/com/sun/source/tree/WhileLoopTree.java create mode 100644 base/sources/com/sun/source/tree/WildcardTree.java create mode 100644 base/sources/com/sun/source/util/DocSourcePositions.java create mode 100644 base/sources/com/sun/source/util/DocTreePath.java create mode 100644 base/sources/com/sun/source/util/DocTreePathScanner.java create mode 100644 base/sources/com/sun/source/util/DocTreeScanner.java create mode 100644 base/sources/com/sun/source/util/DocTrees.java create mode 100644 base/sources/com/sun/source/util/JavacTask.java create mode 100644 base/sources/com/sun/source/util/Plugin.java create mode 100644 base/sources/com/sun/source/util/SimpleDocTreeVisitor.java create mode 100644 base/sources/com/sun/source/util/SimpleTreeVisitor.java create mode 100644 base/sources/com/sun/source/util/SourcePositions.java create mode 100644 base/sources/com/sun/source/util/TaskEvent.java create mode 100644 base/sources/com/sun/source/util/TaskListener.java create mode 100644 base/sources/com/sun/source/util/TreePath.java create mode 100644 base/sources/com/sun/source/util/TreePathScanner.java create mode 100644 base/sources/com/sun/source/util/TreeScanner.java create mode 100644 base/sources/com/sun/source/util/Trees.java create mode 100644 base/sources/com/sun/tools/doclint/Checker.java create mode 100644 base/sources/com/sun/tools/doclint/DocLint.java create mode 100644 base/sources/com/sun/tools/doclint/Entity.java create mode 100644 base/sources/com/sun/tools/doclint/Env.java create mode 100644 base/sources/com/sun/tools/doclint/HtmlTag.java create mode 100644 base/sources/com/sun/tools/doclint/Messages.java create mode 100644 base/sources/com/sun/tools/doclint/resources/doclint.java create mode 100644 base/sources/com/sun/tools/doclint/resources/doclint_ja.java create mode 100644 base/sources/com/sun/tools/doclint/resources/doclint_zh_CN.java create mode 100644 base/sources/com/sun/tools/javac/Main.java create mode 100644 base/sources/com/sun/tools/javac/api/BasicJavacTask.java create mode 100644 base/sources/com/sun/tools/javac/api/ClientCodeWrapper.java create mode 100644 base/sources/com/sun/tools/javac/api/DiagnosticFormatter.java create mode 100644 base/sources/com/sun/tools/javac/api/Formattable.java create mode 100644 base/sources/com/sun/tools/javac/api/JavacScope.java create mode 100644 base/sources/com/sun/tools/javac/api/JavacTaskImpl.java create mode 100644 base/sources/com/sun/tools/javac/api/JavacTool.java create mode 100644 base/sources/com/sun/tools/javac/api/JavacTrees.java create mode 100644 base/sources/com/sun/tools/javac/api/Messages.java create mode 100644 base/sources/com/sun/tools/javac/api/MultiTaskListener.java create mode 100644 base/sources/com/sun/tools/javac/api/WrappingJavaFileManager.java create mode 100644 base/sources/com/sun/tools/javac/code/AnnoConstruct.java create mode 100644 base/sources/com/sun/tools/javac/code/Attribute.java create mode 100644 base/sources/com/sun/tools/javac/code/BoundKind.java create mode 100644 base/sources/com/sun/tools/javac/code/DeferredLintHandler.java create mode 100644 base/sources/com/sun/tools/javac/code/Flags.java create mode 100644 base/sources/com/sun/tools/javac/code/Kinds.java create mode 100644 base/sources/com/sun/tools/javac/code/Lint.java create mode 100644 base/sources/com/sun/tools/javac/code/Printer.java create mode 100644 base/sources/com/sun/tools/javac/code/Scope.java create mode 100644 base/sources/com/sun/tools/javac/code/Source.java create mode 100644 base/sources/com/sun/tools/javac/code/Symbol.java create mode 100644 base/sources/com/sun/tools/javac/code/SymbolMetadata.java create mode 100644 base/sources/com/sun/tools/javac/code/Symtab.java create mode 100644 base/sources/com/sun/tools/javac/code/TargetType.java create mode 100644 base/sources/com/sun/tools/javac/code/Type.java create mode 100644 base/sources/com/sun/tools/javac/code/TypeAnnotationPosition.java create mode 100644 base/sources/com/sun/tools/javac/code/TypeAnnotations.java create mode 100644 base/sources/com/sun/tools/javac/code/TypeTag.java create mode 100644 base/sources/com/sun/tools/javac/code/Types.java create mode 100644 base/sources/com/sun/tools/javac/comp/Annotate.java create mode 100644 base/sources/com/sun/tools/javac/comp/Attr.java create mode 100644 base/sources/com/sun/tools/javac/comp/AttrContext.java create mode 100644 base/sources/com/sun/tools/javac/comp/AttrContextEnv.java create mode 100644 base/sources/com/sun/tools/javac/comp/Check.java create mode 100644 base/sources/com/sun/tools/javac/comp/CompileStates.java create mode 100644 base/sources/com/sun/tools/javac/comp/ConstFold.java create mode 100644 base/sources/com/sun/tools/javac/comp/DeferredAttr.java create mode 100644 base/sources/com/sun/tools/javac/comp/Enter.java create mode 100644 base/sources/com/sun/tools/javac/comp/Env.java create mode 100644 base/sources/com/sun/tools/javac/comp/Flow.java create mode 100644 base/sources/com/sun/tools/javac/comp/Infer.java create mode 100644 base/sources/com/sun/tools/javac/comp/LambdaToMethod.java create mode 100644 base/sources/com/sun/tools/javac/comp/Lower.java create mode 100644 base/sources/com/sun/tools/javac/comp/MemberEnter.java create mode 100644 base/sources/com/sun/tools/javac/comp/Resolve.java create mode 100644 base/sources/com/sun/tools/javac/comp/Todo.java create mode 100644 base/sources/com/sun/tools/javac/comp/TransTypes.java create mode 100644 base/sources/com/sun/tools/javac/comp/TypeEnvs.java create mode 100644 base/sources/com/sun/tools/javac/file/BaseFileObject.java create mode 100644 base/sources/com/sun/tools/javac/file/CacheFSInfo.java create mode 100644 base/sources/com/sun/tools/javac/file/FSInfo.java create mode 100644 base/sources/com/sun/tools/javac/file/JavacFileManager.java create mode 100644 base/sources/com/sun/tools/javac/file/Locations.java create mode 100644 base/sources/com/sun/tools/javac/file/RegularFileObject.java create mode 100644 base/sources/com/sun/tools/javac/file/RelativePath.java create mode 100644 base/sources/com/sun/tools/javac/file/SymbolArchive.java create mode 100644 base/sources/com/sun/tools/javac/file/ZipArchive.java create mode 100644 base/sources/com/sun/tools/javac/file/ZipFileIndex.java create mode 100644 base/sources/com/sun/tools/javac/file/ZipFileIndexArchive.java create mode 100644 base/sources/com/sun/tools/javac/file/ZipFileIndexCache.java create mode 100644 base/sources/com/sun/tools/javac/jvm/ByteCodes.java create mode 100644 base/sources/com/sun/tools/javac/jvm/CRTFlags.java create mode 100644 base/sources/com/sun/tools/javac/jvm/CRTable.java create mode 100644 base/sources/com/sun/tools/javac/jvm/ClassFile.java create mode 100644 base/sources/com/sun/tools/javac/jvm/ClassReader.java create mode 100644 base/sources/com/sun/tools/javac/jvm/ClassWriter.java create mode 100644 base/sources/com/sun/tools/javac/jvm/Code.java create mode 100644 base/sources/com/sun/tools/javac/jvm/Gen.java create mode 100644 base/sources/com/sun/tools/javac/jvm/Items.java create mode 100644 base/sources/com/sun/tools/javac/jvm/JNIWriter.java create mode 100644 base/sources/com/sun/tools/javac/jvm/Pool.java create mode 100644 base/sources/com/sun/tools/javac/jvm/Profile.java create mode 100644 base/sources/com/sun/tools/javac/jvm/Target.java create mode 100644 base/sources/com/sun/tools/javac/jvm/UninitializedType.java create mode 100644 base/sources/com/sun/tools/javac/main/CommandLine.java create mode 100644 base/sources/com/sun/tools/javac/main/JavaCompiler.java create mode 100644 base/sources/com/sun/tools/javac/main/Main.java create mode 100644 base/sources/com/sun/tools/javac/main/Option.java create mode 100644 base/sources/com/sun/tools/javac/main/OptionHelper.java create mode 100644 base/sources/com/sun/tools/javac/model/AnnotationProxyMaker.java create mode 100644 base/sources/com/sun/tools/javac/model/FilteredMemberList.java create mode 100644 base/sources/com/sun/tools/javac/model/JavacElements.java create mode 100644 base/sources/com/sun/tools/javac/model/JavacSourcePosition.java create mode 100644 base/sources/com/sun/tools/javac/model/JavacTypes.java create mode 100644 base/sources/com/sun/tools/javac/nio/JavacPathFileManager.java create mode 100644 base/sources/com/sun/tools/javac/nio/PathFileManager.java create mode 100644 base/sources/com/sun/tools/javac/nio/PathFileObject.java create mode 100644 base/sources/com/sun/tools/javac/parser/DocCommentParser.java create mode 100644 base/sources/com/sun/tools/javac/parser/JavaTokenizer.java create mode 100644 base/sources/com/sun/tools/javac/parser/JavacParser.java create mode 100644 base/sources/com/sun/tools/javac/parser/JavadocTokenizer.java create mode 100644 base/sources/com/sun/tools/javac/parser/LazyDocCommentTable.java create mode 100644 base/sources/com/sun/tools/javac/parser/Lexer.java create mode 100644 base/sources/com/sun/tools/javac/parser/Parser.java create mode 100644 base/sources/com/sun/tools/javac/parser/ParserFactory.java create mode 100644 base/sources/com/sun/tools/javac/parser/Scanner.java create mode 100644 base/sources/com/sun/tools/javac/parser/ScannerFactory.java create mode 100644 base/sources/com/sun/tools/javac/parser/Tokens.java create mode 100644 base/sources/com/sun/tools/javac/parser/UnicodeReader.java create mode 100644 base/sources/com/sun/tools/javac/processing/AnnotationProcessingError.java create mode 100644 base/sources/com/sun/tools/javac/processing/JavacFiler.java create mode 100644 base/sources/com/sun/tools/javac/processing/JavacMessager.java create mode 100644 base/sources/com/sun/tools/javac/processing/JavacProcessingEnvironment.java create mode 100644 base/sources/com/sun/tools/javac/processing/JavacRoundEnvironment.java create mode 100644 base/sources/com/sun/tools/javac/processing/PrintingProcessor.java create mode 100644 base/sources/com/sun/tools/javac/processing/ServiceProxy.java create mode 100644 base/sources/com/sun/tools/javac/resources/compiler.java create mode 100644 base/sources/com/sun/tools/javac/resources/compiler_ja.java create mode 100644 base/sources/com/sun/tools/javac/resources/compiler_zh_CN.java create mode 100644 base/sources/com/sun/tools/javac/resources/javac.java create mode 100644 base/sources/com/sun/tools/javac/resources/javac_ja.java create mode 100644 base/sources/com/sun/tools/javac/resources/javac_zh_CN.java create mode 100644 base/sources/com/sun/tools/javac/resources/legacy.java create mode 100644 base/sources/com/sun/tools/javac/resources/version.java create mode 100644 base/sources/com/sun/tools/javac/sym/CreateSymbols.java create mode 100644 base/sources/com/sun/tools/javac/sym/Profiles.java create mode 100644 base/sources/com/sun/tools/javac/tree/DCTree.java create mode 100644 base/sources/com/sun/tools/javac/tree/DocCommentTable.java create mode 100644 base/sources/com/sun/tools/javac/tree/DocPretty.java create mode 100644 base/sources/com/sun/tools/javac/tree/DocTreeMaker.java create mode 100644 base/sources/com/sun/tools/javac/tree/EndPosTable.java create mode 100644 base/sources/com/sun/tools/javac/tree/JCTree.java create mode 100644 base/sources/com/sun/tools/javac/tree/Pretty.java create mode 100644 base/sources/com/sun/tools/javac/tree/TreeCopier.java create mode 100644 base/sources/com/sun/tools/javac/tree/TreeInfo.java create mode 100644 base/sources/com/sun/tools/javac/tree/TreeMaker.java create mode 100644 base/sources/com/sun/tools/javac/tree/TreeScanner.java create mode 100644 base/sources/com/sun/tools/javac/tree/TreeTranslator.java create mode 100644 base/sources/com/sun/tools/javac/util/Abort.java create mode 100644 base/sources/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java create mode 100644 base/sources/com/sun/tools/javac/util/AbstractLog.java create mode 100644 base/sources/com/sun/tools/javac/util/ArrayUtils.java create mode 100644 base/sources/com/sun/tools/javac/util/Assert.java create mode 100644 base/sources/com/sun/tools/javac/util/BaseFileManager.java create mode 100644 base/sources/com/sun/tools/javac/util/BasicDiagnosticFormatter.java create mode 100644 base/sources/com/sun/tools/javac/util/Bits.java create mode 100644 base/sources/com/sun/tools/javac/util/ByteBuffer.java create mode 100644 base/sources/com/sun/tools/javac/util/ClientCodeException.java create mode 100644 base/sources/com/sun/tools/javac/util/Constants.java create mode 100644 base/sources/com/sun/tools/javac/util/Context.java create mode 100644 base/sources/com/sun/tools/javac/util/Convert.java create mode 100644 base/sources/com/sun/tools/javac/util/DiagnosticSource.java create mode 100644 base/sources/com/sun/tools/javac/util/FatalError.java create mode 100644 base/sources/com/sun/tools/javac/util/Filter.java create mode 100644 base/sources/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java create mode 100644 base/sources/com/sun/tools/javac/util/GraphUtils.java create mode 100644 base/sources/com/sun/tools/javac/util/IntHashTable.java create mode 100644 base/sources/com/sun/tools/javac/util/JCDiagnostic.java create mode 100644 base/sources/com/sun/tools/javac/util/JavacMessages.java create mode 100644 base/sources/com/sun/tools/javac/util/LayoutCharacters.java create mode 100644 base/sources/com/sun/tools/javac/util/List.java create mode 100644 base/sources/com/sun/tools/javac/util/ListBuffer.java create mode 100644 base/sources/com/sun/tools/javac/util/Log.java create mode 100644 base/sources/com/sun/tools/javac/util/MandatoryWarningHandler.java create mode 100644 base/sources/com/sun/tools/javac/util/Name.java create mode 100644 base/sources/com/sun/tools/javac/util/Names.java create mode 100644 base/sources/com/sun/tools/javac/util/Options.java create mode 100644 base/sources/com/sun/tools/javac/util/Pair.java create mode 100644 base/sources/com/sun/tools/javac/util/Position.java create mode 100644 base/sources/com/sun/tools/javac/util/PropagatedException.java create mode 100644 base/sources/com/sun/tools/javac/util/RawDiagnosticFormatter.java create mode 100644 base/sources/com/sun/tools/javac/util/RichDiagnosticFormatter.java create mode 100644 base/sources/com/sun/tools/javac/util/ServiceLoader.java create mode 100644 base/sources/com/sun/tools/javac/util/SharedNameTable.java create mode 100644 base/sources/com/sun/tools/javac/util/StringUtils.java create mode 100644 base/sources/com/sun/tools/javac/util/UnsharedNameTable.java create mode 100644 base/sources/com/sun/tools/javac/util/Warner.java create mode 100644 base/sources/dk/sgjesse/d8onandroid/D8DiagnosticsHandler.java create mode 100644 base/sources/dk/sgjesse/r8api/AndroidDexIndexedConsumer.java create mode 100644 base/sources/dk/sgjesse/r8api/ArchiveClassFileResourceProvider.java create mode 100644 base/sources/dk/sgjesse/r8api/ArchiveProgramResourceProvider.java create mode 100644 base/sources/dk/sgjesse/r8api/DescriptorUtils.java create mode 100644 base/sources/dk/sgjesse/r8api/FileOrigin.java create mode 100644 base/sources/dk/sgjesse/r8api/FileUtils.java create mode 100644 base/sources/dk/sgjesse/r8api/OrderedClassFileResourceProvider.java create mode 100644 base/sources/dk/sgjesse/r8api/ZipUtils.java create mode 100644 base/sources/fi/iki/elonen/NanoHTTPD.java create mode 100644 base/sources/fi/iki/elonen/NanoWSD.java create mode 100644 base/sources/nl/minvws/encoding/Base45.java diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsList.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsList.java new file mode 100644 index 000000000000..c95d452877bb --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsList.java @@ -0,0 +1,90 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.CompilationFailedException; +import com.android.tools.r8.StringConsumer; +import com.android.tools.r8.Version; +import com.android.tools.r8.internal.AbstractC3072to; +import com.android.tools.r8.internal.C0767Le; +import com.android.tools.r8.internal.C3384x50; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.InterfaceC3166uo; +import com.android.tools.r8.t0; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class DesugaredMethodsList extends e { + private final EnumC3471y2 j; + private final boolean k; + private final StringConsumer l; + + DesugaredMethodsList(int i, boolean z, C3384x50 c3384x50, t0 t0Var, Collection collection, StringConsumer stringConsumer, Collection collection2) { + super(c3384x50, t0Var, collection, null, collection2); + this.j = EnumC3471y2.b(i); + this.k = z; + this.l = stringConsumer; + } + + /* JADX INFO: Access modifiers changed from: private */ + public static /* synthetic */ void a(DesugaredMethodsListCommand desugaredMethodsListCommand) throws IOException { + new DesugaredMethodsList(desugaredMethodsListCommand.getMinApi(), desugaredMethodsListCommand.isAndroidPlatformBuild(), desugaredMethodsListCommand.getReporter(), desugaredMethodsListCommand.getDesugarLibrarySpecification(), desugaredMethodsListCommand.getDesugarLibraryImplementation(), desugaredMethodsListCommand.getOutputConsumer(), desugaredMethodsListCommand.getLibrary()).run(); + } + + public static void main(final String[] strArr) { + AbstractC3072to.a(new InterfaceC3166uo() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.DesugaredMethodsList$$ExternalSyntheticLambda1 + @Override // com.android.tools.r8.internal.InterfaceC3166uo + public final void run() throws CompilationFailedException { + DesugaredMethodsList.a(strArr); + } + }); + } + + public static void run(final DesugaredMethodsListCommand desugaredMethodsListCommand) throws CompilationFailedException { + if (desugaredMethodsListCommand.isHelp()) { + System.out.println(DesugaredMethodsListCommand.getUsageMessage()); + } else { + if (!desugaredMethodsListCommand.isVersion()) { + AbstractC3072to.b(desugaredMethodsListCommand.getReporter(), new AbstractC3072to.a() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.DesugaredMethodsList$$ExternalSyntheticLambda0 + @Override // com.android.tools.r8.internal.AbstractC3072to.a + public final void run() throws IOException { + DesugaredMethodsList.a(desugaredMethodsListCommand); + } + }); + return; + } + System.out.println("DesugaredMethodsList " + Version.getVersionString()); + } + } + + @Override // com.android.tools.r8.ir.desugar.desugaredlibrary.lint.e + final void a(EnumC3471y2 enumC3471y2, EnumC3471y2 enumC3471y22, ArrayList arrayList) { + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + this.l.accept((String) it.next(), this.a.i); + } + this.l.finished(this.a.i); + } + + @Override // com.android.tools.r8.ir.desugar.desugaredlibrary.lint.e + public EnumC3471y2 run() throws IOException { + EnumC3471y2 enumC3471y2C = this.b.c(); + a(enumC3471y2C, this.j, new o(this.a, this.f, true, this.j, this.k, true).b(this.d, this.c)); + return enumC3471y2C; + } + + /* JADX INFO: Access modifiers changed from: private */ + public static /* synthetic */ void a(String[] strArr) throws CompilationFailedException { + try { + run(strArr); + } catch (IOException e) { + throw new C0767Le(e.getMessage(), e); + } + } + + public static void run(String[] strArr) throws IOException, CompilationFailedException { + run(DesugaredMethodsListCommand.parse(strArr)); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsListCommand.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsListCommand.java new file mode 100644 index 000000000000..a41105aa259a --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/DesugaredMethodsListCommand.java @@ -0,0 +1,194 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.ClassFileResourceProvider; +import com.android.tools.r8.DiagnosticsHandler; +import com.android.tools.r8.ParseFlagPrinter; +import com.android.tools.r8.ProgramResourceProvider; +import com.android.tools.r8.StringConsumer; +import com.android.tools.r8.a0; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.C3384x50; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.Zf0; +import com.android.tools.r8.t0; +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class DesugaredMethodsListCommand { + private final boolean a; + private final boolean b; + private final int c; + private final C3384x50 d; + private final t0 e; + private final Collection f; + private final StringConsumer g; + private final Collection h; + private final boolean i; + + /* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ + public static class Builder { + private final C3384x50 b; + private StringConsumer e; + private int a = EnumC3471y2.c.d(); + private t0 c = null; + private final ArrayList d = new ArrayList(); + private final ArrayList f = new ArrayList(); + private boolean g = false; + private boolean h = false; + private boolean i = false; + + public Builder(DiagnosticsHandler diagnosticsHandler) { + this.b = new C3384x50(diagnosticsHandler); + } + + public Builder addDesugarLibraryImplementation(ProgramResourceProvider programResourceProvider) { + this.d.add(programResourceProvider); + return this; + } + + public Builder addLibrary(ClassFileResourceProvider classFileResourceProvider) { + this.f.add(classFileResourceProvider); + return this; + } + + public DesugaredMethodsListCommand build() { + boolean z = this.g; + if (z || this.h) { + return new DesugaredMethodsListCommand(z, this.h); + } + if (this.i && !this.d.isEmpty()) { + this.b.a("With platform build desugared library is not allowed."); + } + if (this.c != null && this.f.isEmpty()) { + this.b.a("With desugared library specification a library is required."); + } + if (!this.d.isEmpty() && this.c == null) { + this.b.a("The desugar library specification is required when desugared library implementation is present."); + } + if (this.e == null) { + this.e = new c(); + } + return new DesugaredMethodsListCommand(this.a, this.b, this.c, this.d, this.e, this.f, this.i); + } + + public Builder setAndroidPlatformBuild() { + this.i = true; + return this; + } + + public Builder setDesugarLibrarySpecification(t0 t0Var) { + this.c = t0Var; + return this; + } + + public Builder setHelp() { + this.g = true; + return this; + } + + public Builder setMinApi(int i) { + this.a = i; + return this; + } + + public Builder setOutputConsumer(StringConsumer stringConsumer) { + this.e = stringConsumer; + return this; + } + + public Builder setOutputPath(Path path) { + this.e = new b(path); + return this; + } + + public Builder setVersion() { + this.h = true; + return this; + } + } + + DesugaredMethodsListCommand(int i, C3384x50 c3384x50, t0 t0Var, ArrayList arrayList, StringConsumer stringConsumer, ArrayList arrayList2, boolean z) { + this.a = false; + this.b = false; + this.c = i; + this.d = c3384x50; + this.e = t0Var; + this.f = arrayList; + this.g = stringConsumer; + this.h = arrayList2; + this.i = z; + } + + public static Builder builder(DiagnosticsHandler diagnosticsHandler) { + return new Builder(diagnosticsHandler); + } + + public static String getUsageMessage() { + StringBuilder sb = new StringBuilder(); + Zf0.a(sb, "Usage: desugaredmethods [options] where options are:"); + new ParseFlagPrinter().addFlags(AbstractC0695Iu.a(AbstractC0695Iu.g().a(a0.a("--output", Collections.singletonList(""), Arrays.asList("Output result in .", " must be an existing directory or a zip file."))).a(a0.a("--lib", Collections.singletonList(""), Arrays.asList("Add as a library resource."))).a(a0.e()).a(a0.a("DesugaredMethods")).a(a0.c()).a(a0.a("--desugared-lib", Collections.singletonList(""), Arrays.asList("Specify desugared library configuration.", " is a desugared library configuration (json)."))).a(a0.a("--android-platform-build", Collections.emptyList(), Arrays.asList("Compile as a platform build where the runtime/bootclasspath", "is assumed to be the version specified by --min-api."))).a(a0.a("--desugared-lib-jar", Collections.singletonList(""), Arrays.asList("Specify desugared library jar."))).a())).appendLinesToBuilder(sb); + return sb.toString(); + } + + public static DesugaredMethodsListCommand parse(String[] strArr) throws IOException { + return parse(strArr, new C3384x50()); + } + + public Collection getDesugarLibraryImplementation() { + return this.f; + } + + public t0 getDesugarLibrarySpecification() { + return this.e; + } + + public Collection getLibrary() { + return this.h; + } + + public int getMinApi() { + return this.c; + } + + public StringConsumer getOutputConsumer() { + return this.g; + } + + public C3384x50 getReporter() { + return this.d; + } + + public boolean isAndroidPlatformBuild() { + return this.i; + } + + public boolean isHelp() { + return this.a; + } + + public boolean isVersion() { + return this.b; + } + + public static DesugaredMethodsListCommand parse(String[] strArr, C3384x50 c3384x50) throws IOException { + return d.a(strArr, c3384x50); + } + + DesugaredMethodsListCommand(boolean z, boolean z2) { + this.a = z; + this.b = z2; + this.c = -1; + this.d = null; + this.e = null; + this.f = null; + this.g = null; + this.h = null; + this.i = false; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/a.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/a.java new file mode 100644 index 000000000000..69ba33e8b226 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/a.java @@ -0,0 +1,38 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.internal.C1064Vk; +import com.android.tools.r8.internal.C3030tM; +import com.android.tools.r8.internal.C3200vB; +import com.android.tools.r8.internal.C3384x50; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.InterfaceC1037Uk; +import com.android.tools.r8.t0; +import java.nio.file.Path; +import java.util.Collection; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class a { + final C3200vB a; + final InterfaceC1037Uk b; + final t0 c; + final Collection d; + final Path e; + final Collection f; + static final /* synthetic */ boolean h = true; + static final EnumC3471y2 g = EnumC3471y2.J; + + a(C3384x50 c3384x50, t0 t0Var, Collection collection, Path path, Collection collection2) { + if (!h && collection2 == null) { + throw new AssertionError(); + } + C3200vB c3200vB = new C3200vB(new B1(), c3384x50).w().a(true).f; + this.a = c3200vB; + this.c = t0Var; + this.f = collection2; + this.b = t0Var == null ? C3030tM.g() : C1064Vk.a(t0Var, c3200vB.s(), c3200vB.i, false, EnumC3471y2.c.d()); + this.d = collection; + this.e = path; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/b.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/b.java new file mode 100644 index 000000000000..b0b354e5064a --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/b.java @@ -0,0 +1,19 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.DiagnosticsHandler; +import com.android.tools.r8.StringConsumer; +import java.nio.file.Path; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class b extends StringConsumer.FileConsumer { + public b(Path path) { + super(path); + } + + @Override // com.android.tools.r8.StringConsumer.FileConsumer, com.android.tools.r8.StringConsumer.ForwardingConsumer, com.android.tools.r8.StringConsumer + public final void accept(String str, DiagnosticsHandler diagnosticsHandler) { + super.accept(str, diagnosticsHandler); + super.accept(System.lineSeparator(), diagnosticsHandler); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/c.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/c.java new file mode 100644 index 000000000000..a18568be21e3 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/c.java @@ -0,0 +1,17 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.DiagnosticsHandler; +import com.android.tools.r8.StringConsumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class c implements StringConsumer { + @Override // com.android.tools.r8.StringConsumer + public final void accept(String str, DiagnosticsHandler diagnosticsHandler) { + System.out.println(str); + } + + @Override // com.android.tools.r8.I + public final void finished(DiagnosticsHandler diagnosticsHandler) { + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/d.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/d.java new file mode 100644 index 000000000000..58ba9cbacbe8 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/d.java @@ -0,0 +1,21 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class d { + /* JADX WARN: Code restructure failed: missing block: B:39:0x00eb, code lost: + + return r0.build(); + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public static com.android.tools.r8.ir.desugar.desugaredlibrary.lint.DesugaredMethodsListCommand a(java.lang.String[] r6, com.android.tools.r8.DiagnosticsHandler r7) { + /* + Method dump skipped, instruction units count: 236 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.d.a(java.lang.String[], com.android.tools.r8.DiagnosticsHandler):com.android.tools.r8.ir.desugar.desugaredlibrary.lint.DesugaredMethodsListCommand"); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/e.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/e.java new file mode 100644 index 000000000000..a72ea5d69367 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/e.java @@ -0,0 +1,131 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.ArchiveClassFileProvider; +import com.android.tools.r8.ArchiveProgramResourceProvider; +import com.android.tools.r8.ClassFileResourceProvider; +import com.android.tools.r8.ProgramResourceProvider; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.C1015Tp; +import com.android.tools.r8.internal.C1116Xj; +import com.android.tools.r8.internal.C3384x50; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.Zf0; +import com.android.tools.r8.ir.desugar.desugaredlibrary.lint.m; +import com.android.tools.r8.t0; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.FileAttribute; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class e extends a { + static final /* synthetic */ boolean i = true; + + public e(C3384x50 c3384x50, t0 t0Var, Collection collection, Path path, Collection collection2) { + super(c3384x50, t0Var, collection, path, collection2); + } + + private static String a(EnumC3471y2 enumC3471y2, EnumC3471y2 enumC3471y22) { + return "desugared_apis_" + enumC3471y2.d() + "_" + enumC3471y22.d(); + } + + private Path b(EnumC3471y2 enumC3471y2, EnumC3471y2 enumC3471y22) throws IOException { + Path pathResolve = this.e.resolve("compile_api_level_" + enumC3471y2.d()); + Files.createDirectories(pathResolve, new FileAttribute[0]); + return Paths.get(pathResolve + File.separator + a(enumC3471y2, enumC3471y22) + ".txt", new String[0]); + } + + public static void main(String[] strArr) throws Exception { + if (strArr.length != 4) { + throw new RuntimeException(Zf0.a("Invalid invocation.", "Usage: GenerateDesugaredLibraryLintFiles ")); + } + new e(new C3384x50(), t0.a(Paths.get(strArr[0], new String[0])), AbstractC0695Iu.c(ArchiveProgramResourceProvider.fromArchive(Paths.get(strArr[1], new String[0]))), Paths.get(strArr[2], new String[0]), AbstractC0695Iu.c(new ArchiveClassFileProvider(Paths.get(strArr[3], new String[0])))).run(); + } + + public EnumC3471y2 run() throws Exception { + EnumC3471y2 enumC3471y2C = this.b.c(); + m mVarB = new o(this.a, this.f, true).b(this.d, this.c); + a(enumC3471y2C, EnumC3471y2.c, mVarB); + a(enumC3471y2C, EnumC3471y2.w, mVarB); + return enumC3471y2C; + } + + final void a(EnumC3471y2 enumC3471y2, final EnumC3471y2 enumC3471y22, m mVar) throws IOException { + final ArrayList arrayList = new ArrayList(); + mVar.a(new Consumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.e$$ExternalSyntheticLambda2 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(enumC3471y22, arrayList, (m.d) obj); + } + }); + for (C0409w2 c0409w2 : mVar.a()) { + arrayList.add(C1116Xj.i(c0409w2.w0().f.toString()) + "#" + c0409w2.g + c0409w2.i.s0()); + } + arrayList.sort(Comparator.naturalOrder()); + a(enumC3471y2, enumC3471y22, arrayList); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void a(EnumC3471y2 enumC3471y2, List list, String str, C0291j1 c0291j1, m.c cVar) { + if (c0291j1.r1() || c0291j1.n1()) { + return; + } + if (cVar != null) { + if (cVar.a) { + return; + } + if (cVar.e) { + if (enumC3471y2 != EnumC3471y2.w) { + return; + } + } else if (!i && !cVar.f) { + throw new AssertionError(); + } + } + list.add(str + "#" + c0291j1.getReference().g + c0291j1.getReference().i.s0()); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void a(final EnumC3471y2 enumC3471y2, final List list, m.d dVar) { + final String strI = C1116Xj.i(dVar.a.e.f.toString()); + if (!dVar.b.b) { + dVar.b(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.e$$ExternalSyntheticLambda0 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a(enumC3471y2, list, strI, (C0291j1) obj, (m.c) obj2); + } + }); + dVar.a(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.e$$ExternalSyntheticLambda1 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + e.a(list, strI, (C0257g1) obj, (m.a) obj2); + } + }); + } else { + list.add(strI); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public static /* synthetic */ void a(List list, String str, C0257g1 c0257g1, m.a aVar) { + if (aVar == null || !aVar.a) { + list.add(str + "#" + c0257g1.getReference().g); + } + } + + void a(EnumC3471y2 enumC3471y2, EnumC3471y2 enumC3471y22, ArrayList arrayList) throws IOException { + C1015Tp.a(b(enumC3471y2, enumC3471y22), arrayList); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/f.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/f.java new file mode 100644 index 000000000000..e4622f85c432 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/f.java @@ -0,0 +1,86 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.AbstractC0026a; +import com.android.tools.r8.internal.Zf0; +import dk.sgjesse.r8api.DescriptorUtils; +import java.util.List; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class f extends i { + public final void a() { + this.c += " "; + } + + public final f e(String str) { + b("
  • " + str + "
  • "); + return this; + } + + public final void f(String str) { + if (str.length() < 53 || str.contains("()")) { + e(str); + return; + } + StringBuilder sb = new StringBuilder(); + List listA = Zf0.a(str, '('); + sb.append(listA.get(0)).append("(
     "); + if (listA.get(1).length() < 51) { + sb.append(listA.get(1)); + e(sb.toString()); + return; + } + List listA2 = Zf0.a(listA.get(1), ','); + sb.append(" "); + for (int i = 0; i < listA2.size(); i++) { + sb.append(listA2.get(i)); + if (i != listA2.size() - 1) { + sb.append(",
     "); + } + } + e(sb.toString()); + } + + public final void g(String str) { + c("

     " + a(2, str) + "


    "); + } + + public final void h(String str) { + b("

    " + str + "

    "); + } + + public final void i(String str) { + d("" + a(4, str) + "
    "); + if (str.startsWith("java.time")) { + a("See customizationsSee customizations"); + return this; + } + + public final f k(String str) { + b("<" + str + ">"); + a(); + return this; + } + + public static String a(int i, String str) { + List listA = Zf0.a(str, DescriptorUtils.JAVA_PACKAGE_SEPARATOR); + if (listA.size() < i) { + return str; + } + int i2 = i / 2; + int length = 0; + for (int i3 = 0; i3 < i2; i3++) { + length += listA.get(i3).length(); + } + int i4 = length + i2; + return str.substring(0, i4) + "
     " + str.substring(i4); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/g.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/g.java new file mode 100644 index 000000000000..7ea9715cbc01 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/g.java @@ -0,0 +1,119 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.H2; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.ir.desugar.desugaredlibrary.lint.m; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class g extends h { + public final l g; + public boolean h; + public boolean i; + public boolean j; + public boolean k; + + public g(I2 i2, l lVar) { + super(i2); + this.h = false; + this.i = false; + this.j = false; + this.k = false; + this.g = lVar; + } + + public final String a(m.c cVar) { + if (cVar == null) { + return ""; + } + StringBuilder sb = new StringBuilder(); + if (cVar.e) { + sb.append("1"); + this.h = true; + } + if (cVar.f) { + sb.append("2"); + this.i = true; + } + if (cVar.a) { + sb.append("3"); + this.j = true; + } + if (cVar.g) { + sb.append("4"); + this.k = true; + } + return sb.toString(); + } + + public final String toString() { + String string; + f fVar = new f(); + fVar.k("tr"); + if (this.e.length() > 0) { + fVar.i(this.e); + } + fVar.g(a(this.d)); + fVar.k("td").k("ul style=\"list-style-position:inside; list-style-type: none !important; margin-left:0px;padding-left:0px !important;\""); + if (!this.a.isEmpty()) { + for (C0257g1 c0257g1 : this.a.keySet()) { + String strA = h.a(c0257g1.g); + String strA2 = a(c0257g1.getReference().i); + H2 h2 = c0257g1.getReference().g; + m.a aVar = (m.a) this.a.get(c0257g1); + if (aVar == null) { + string = ""; + } else { + StringBuilder sb = new StringBuilder(); + if (aVar.a) { + sb.append("3"); + this.j = true; + } + string = sb.toString(); + } + fVar.e(strA + " " + strA2 + " " + h2 + string); + } + } + if (!this.b.isEmpty()) { + for (C0291j1 c0291j1 : this.b.keySet()) { + fVar.f(h.a(c0291j1.g) + " " + a(this.d) + a(c0291j1) + a((m.c) this.b.get(c0291j1))); + } + } + if (!this.c.isEmpty()) { + for (C0291j1 c0291j12 : this.c.keySet()) { + fVar.f(h.a(c0291j12.g) + " " + a(c0291j12.getReference().i.e) + " " + c0291j12.getReference().g + a(c0291j12) + a((m.c) this.c.get(c0291j12))); + } + } + fVar.j("ul").j("td"); + StringBuilder sb2 = new StringBuilder(); + if (this.g.d()) { + sb2.append("Fully implemented class.
     "); + } + if (this.g.c()) { + sb2.append("Additional methods on existing class.
     "); + } + if (this.h) { + sb2.append("1 Supported only on devices which API level is 21 or higher.
     "); + } + if (this.i) { + sb2.append("2 Not present in Android ").append(a.g).append(" (May not resolve at compilation).
     "); + } + if (this.j) { + sb2.append("3 Not supported at all minSDK levels.
     "); + } + if (this.k) { + sb2.append("4 Also supported with covariant return type.
     "); + } + if (!this.g.a().isEmpty()) { + sb2.append("Some fields (").append(this.g.a().size()).append(") present in Android ").append(a.g).append(" are not supported.
     "); + } + if (!this.g.b().isEmpty()) { + sb2.append("Some methods (").append(this.g.b().size()).append(") present in Android ").append(a.g).append(" are not supported."); + } + fVar.h(sb2.toString()); + fVar.j("tr"); + return fVar.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/h.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/h.java new file mode 100644 index 000000000000..66165f25677a --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/h.java @@ -0,0 +1,174 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.ExtractMarkerCommand$$ExternalSyntheticBackport0; +import com.android.tools.r8.graph.C0236e3; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.E2; +import com.android.tools.r8.graph.E4; +import com.android.tools.r8.graph.G; +import com.android.tools.r8.graph.G4$$ExternalSyntheticLambda1; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.graph.g1$$ExternalSyntheticLambda0; +import com.android.tools.r8.internal.C3306wL; +import com.android.tools.r8.internal.Zf0; +import dk.sgjesse.r8api.DescriptorUtils; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.TreeMap; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class h { + public static final /* synthetic */ boolean f = true; + public final TreeMap a = new TreeMap(Comparator.comparing(new g1$$ExternalSyntheticLambda0())); + public final TreeMap b = new TreeMap(Comparator.comparing(new G4$$ExternalSyntheticLambda1())); + public final TreeMap c = new TreeMap(Comparator.comparing(new G4$$ExternalSyntheticLambda1())); + public final String d; + public final String e; + + public h(I2 i2) { + String strM0 = i2.m0(); + this.d = strM0; + int iLastIndexOf = strM0.lastIndexOf(46); + this.e = iLastIndexOf > 0 ? strM0.substring(0, iLastIndexOf) : ""; + } + + public static String a(String str, String str2) { + if (str.startsWith(str2) && str.length() > str2.length() && str.charAt(str2.length()) == '.') { + return str.substring(str.lastIndexOf(46) + 1); + } + return null; + } + + public final String a(String str) { + String str2 = this.e; + String strA = a(str, str2); + if (strA == null) { + if (Zf0.a(str2, DescriptorUtils.JAVA_PACKAGE_SEPARATOR).size() > 2) { + strA = a(str, str2.substring(0, (str2.length() - ((String) C3306wL.b(r1)).length()) - 1)); + } else { + strA = null; + } + } + if (strA == null) { + strA = a(str, "java.lang"); + } + if (strA == null) { + strA = a(str, "java.util.function"); + } + if (strA != null) { + str = strA; + } + return str.replace('$', DescriptorUtils.JAVA_PACKAGE_SEPARATOR); + } + + public final String a(I2 i2) { + if (i2.T0()) { + return i2.m0(); + } + return a(i2.m0()); + } + + public static String a(C0236e3 c0236e3) { + ArrayList arrayList = new ArrayList(); + if (c0236e3.m()) { + arrayList.add("public"); + } + if (c0236e3.l()) { + arrayList.add("protected"); + } + if (c0236e3.i()) { + if (f) { + arrayList.add("private"); + } else { + throw new AssertionError(); + } + } + if (c0236e3.g()) { + if (f) { + arrayList.add("/* package */"); + } else { + throw new AssertionError(); + } + } + if (c0236e3.n()) { + arrayList.add("static"); + } + if (c0236e3.f()) { + arrayList.add("final"); + } + return ExtractMarkerCommand$$ExternalSyntheticBackport0.m(" ", arrayList); + } + + public static String a(E4 e4) { + ArrayList arrayList = new ArrayList(); + if (e4.m()) { + arrayList.add("public"); + } + if (e4.l()) { + arrayList.add("protected"); + } + if (e4.i()) { + if (f) { + arrayList.add("private"); + } else { + throw new AssertionError(); + } + } + if (e4.g()) { + if (f) { + arrayList.add("/* package */"); + } else { + throw new AssertionError(); + } + } + if (e4.J()) { + arrayList.add("abstract"); + } + if (e4.n()) { + arrayList.add("static"); + } + if (e4.f()) { + arrayList.add("final"); + } + return ExtractMarkerCommand$$ExternalSyntheticBackport0.m(" ", arrayList); + } + + public final String a(C0291j1 c0291j1) { + E2 e2 = c0291j1.getReference().i; + StringBuilder sb = new StringBuilder(); + int i = (c0291j1.C1() || c0291j1.g.L()) ? 1 : 0; + sb.append("("); + I2[] i2Arr = e2.f.b; + int length = i2Arr.length; + int i2 = 0; + int i3 = 0; + boolean z = true; + while (i2 < length) { + I2 i22 = i2Arr[i2]; + if (!z) { + sb.append(", "); + } + if (c0291j1.j1()) { + String string = "p" + i3; + for (G.a aVar : c0291j1.V0().H().I0()) { + if (aVar.b() == i) { + if (!f && aVar.c().b.toString().equals("this")) { + throw new AssertionError(); + } + string = aVar.c().b.toString(); + } + } + sb.append(a(i22)).append(" ").append(string); + } else { + sb.append(a(i22)).append(" p").append(i3); + } + i += i22.X0() ? 2 : 1; + i3++; + i2++; + z = false; + } + sb.append(")"); + return sb.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/i.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/i.java new file mode 100644 index 000000000000..4354cdd3ec65 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/i.java @@ -0,0 +1,33 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class i { + public final String a = System.lineSeparator(); + public final StringBuilder b = new StringBuilder(); + public String c = ""; + + public final void a(String str) { + this.b.append(str); + } + + public final void b(String str) { + this.b.append(this.c); + this.b.append(str); + this.b.append(this.a); + } + + public final void c(String str) { + this.b.append(str); + this.b.append(this.a); + } + + public final void d(String str) { + this.b.append(this.c); + this.b.append(str); + } + + public final String toString() { + return this.b.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/j.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/j.java new file mode 100644 index 000000000000..2546f3186048 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/j.java @@ -0,0 +1,88 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.ArchiveClassFileProvider; +import com.android.tools.r8.ArchiveProgramResourceProvider; +import com.android.tools.r8.ClassFileResourceProvider; +import com.android.tools.r8.ProgramResourceProvider; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.C3384x50; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.Zf0; +import com.android.tools.r8.ir.desugar.desugaredlibrary.lint.m; +import com.android.tools.r8.t0; +import java.io.PrintStream; +import java.nio.file.Files; +import java.nio.file.OpenOption; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collection; +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class j extends a { + public j(t0 t0Var, Collection collection, Path path, Collection collection2) { + super(new C3384x50(), t0Var, collection, path, collection2); + } + + public static void a(PrintStream printStream, m.d dVar) { + final g gVar = new g(dVar.a.e, dVar.b); + dVar.a(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.j$$ExternalSyntheticLambda0 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + j.a(gVar, (C0257g1) obj, (m.a) obj2); + } + }); + dVar.b(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.j$$ExternalSyntheticLambda1 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + j.a(gVar, (C0291j1) obj, (m.c) obj2); + } + }); + printStream.println(gVar); + } + + public static void main(String[] strArr) throws Exception { + if (!strArr[0].equals("--generate-api-docs") || strArr.length != 5) { + throw new RuntimeException(Zf0.a("Invalid invocation.", "Usage: GenerateHtmlDoc --generate-api-docs ")); + } + new j(t0.a(Paths.get(strArr[1], new String[0])), AbstractC0695Iu.c(ArchiveProgramResourceProvider.fromArchive(Paths.get(strArr[2], new String[0]))), Paths.get(strArr[3], new String[0]), AbstractC0695Iu.c(new ArchiveClassFileProvider(Paths.get(strArr[4], new String[0])))).a("apis.html"); + } + + public final /* synthetic */ void b(PrintStream printStream, m.d dVar) { + a(printStream, dVar); + } + + public static void a(h hVar, C0257g1 c0257g1, m.a aVar) { + hVar.a.put(c0257g1, aVar); + } + + public static void a(h hVar, C0291j1 c0291j1, m.c cVar) { + if (c0291j1.g.K()) { + return; + } + hVar.getClass(); + if (!h.f && c0291j1.n1()) { + throw new AssertionError(); + } + if (c0291j1.q1()) { + hVar.b.put(c0291j1, cVar); + } else { + hVar.c.put(c0291j1, cVar); + } + } + + public EnumC3471y2 a(String str) throws Exception { + final PrintStream printStream = new PrintStream(Files.newOutputStream(this.e.resolve(str), new OpenOption[0])); + new o(this.a, this.f, false).b(this.d, this.c).a(new Consumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.j$$ExternalSyntheticLambda2 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.b(printStream, (m.d) obj); + } + }); + return a.g; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/k.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/k.java new file mode 100644 index 000000000000..c98660a4c454 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/k.java @@ -0,0 +1,151 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.E0; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.C3366wv; +import com.android.tools.r8.internal.InterfaceC2428mi0; +import com.android.tools.r8.internal.S40; +import com.android.tools.r8.ir.desugar.desugaredlibrary.lint.m; +import java.util.IdentityHashMap; +import java.util.List; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class k { + public static final /* synthetic */ boolean c = true; + public final IdentityHashMap a = new IdentityHashMap(); + public List b; + + public k() { + int i = AbstractC0695Iu.c; + this.b = S40.e; + } + + public static n a(E0 e0, I2 i2) { + return new n(e0); + } + + public static n b(E0 e0, I2 i2) { + return new n(e0); + } + + public static void a(InterfaceC2428mi0 interfaceC2428mi0, n nVar) { + interfaceC2428mi0.a(nVar.a, nVar.d.values(), nVar.c.values()); + } + + public final void b(final BiConsumer biConsumer) { + this.a.values().forEach(new Consumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.k$$ExternalSyntheticLambda1 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((n) obj).b(biConsumer); + } + }); + } + + public static void a(Map map, I2 i2, n nVar) { + map.put(i2, new m.d(nVar.a, nVar.b, C3366wv.a(nVar.c), C3366wv.a(nVar.d), nVar.e, nVar.f)); + } + + public final void a(final InterfaceC2428mi0 interfaceC2428mi0) { + this.a.values().forEach(new Consumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.k$$ExternalSyntheticLambda3 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + k.a(interfaceC2428mi0, (n) obj); + } + }); + } + + public final void a(final BiConsumer biConsumer) { + this.a.values().forEach(new Consumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.k$$ExternalSyntheticLambda5 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((n) obj).a(biConsumer); + } + }); + } + + public final void a(final E0 e0, C0291j1 c0291j1) { + n nVar = (n) this.a.computeIfAbsent(e0.e, new Function() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.k$$ExternalSyntheticLambda2 + @Override // java.util.function.Function + public final Object apply(Object obj) { + return k.b(e0, (I2) obj); + } + }); + if (!n.g) { + nVar.getClass(); + if (c0291j1.F0() != nVar.a.e) { + throw new AssertionError(); + } + } + nVar.c.put(c0291j1.getReference(), c0291j1); + } + + public final void a(final E0 e0, C0257g1 c0257g1) { + n nVar = (n) this.a.computeIfAbsent(e0.e, new Function() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.k$$ExternalSyntheticLambda4 + @Override // java.util.function.Function + public final Object apply(Object obj) { + return k.a(e0, (I2) obj); + } + }); + if (!n.g) { + nVar.getClass(); + if (c0257g1.F0() != nVar.a.e) { + throw new AssertionError(); + } + } + nVar.d.put(c0257g1.getReference(), c0257g1); + } + + public final void a(I2 i2, l lVar) { + l lVar2; + n nVar = (n) this.a.get(i2); + if (!c && nVar == null) { + throw new AssertionError(); + } + nVar.getClass(); + boolean z = n.g; + if (!z && lVar == null) { + throw new AssertionError(); + } + if (!z && (lVar2 = nVar.b) != null && lVar != lVar2) { + throw new AssertionError(); + } + nVar.b = lVar; + } + + public final void a(C0409w2 c0409w2, m.c cVar) { + n nVar = (n) this.a.get(c0409w2.w0()); + if (!c && nVar == null) { + throw new AssertionError(); + } + nVar.a(c0409w2, cVar); + } + + public final void a(C0309l1 c0309l1, m.a aVar) { + n nVar = (n) this.a.get(c0309l1.w0()); + if (!c && nVar == null) { + throw new AssertionError(); + } + nVar.a(c0309l1, aVar); + } + + public final m a() { + final IdentityHashMap identityHashMap = new IdentityHashMap(); + this.a.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.k$$ExternalSyntheticLambda0 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + k.a(identityHashMap, (I2) obj, (n) obj2); + } + }); + return new m(C3366wv.a(identityHashMap), this.b); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/l.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/l.java new file mode 100644 index 000000000000..5c509b52cb93 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/l.java @@ -0,0 +1,51 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.S40; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class l { + public static final l e = new l(); + public final boolean a; + public final boolean b; + public final List c; + public final AbstractC0695Iu d; + + public l(boolean z, ArrayList arrayList, ArrayList arrayList2) { + this.a = false; + this.b = z; + arrayList.sort(Comparator.naturalOrder()); + this.c = arrayList; + arrayList2.sort(Comparator.naturalOrder()); + this.d = AbstractC0695Iu.a(arrayList2); + } + + public final List a() { + return this.c; + } + + public final List b() { + return this.d; + } + + public final boolean c() { + return this.a; + } + + public final boolean d() { + return this.b; + } + + public l() { + this.a = true; + this.b = false; + int i = AbstractC0695Iu.c; + S40 s40 = S40.e; + this.c = s40; + this.d = s40; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/m.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/m.java new file mode 100644 index 000000000000..24050ce5a2ad --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/m.java @@ -0,0 +1,162 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.E0; +import com.android.tools.r8.internal.C3366wv; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.SortedMap; +import java.util.function.BiConsumer; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class m { + public final Map a; + public final List b; + + /* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ + public static class a extends b { + public static final a e = new a(-1, -1, false); + + public a(int i, int i2, boolean z) { + super(i, i2, z); + } + + public static a a(int i) { + return new a(i, i, true); + } + } + + /* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ + public static abstract class b { + public static final /* synthetic */ boolean d = true; + public final boolean a; + public final int b; + public final int c; + + public b(int i, int i2, boolean z) { + this.a = z; + this.b = i; + this.c = i2; + } + + public int a() { + return this.c; + } + + public int b() { + return this.b; + } + + public boolean c() { + return this.a; + } + + public final int a(b bVar) { + int i; + int i2; + boolean z = this.a; + if (!z && !bVar.a) { + i2 = -1; + i = -1; + } else if (z && bVar.a) { + int i3 = this.c; + i = bVar.b; + if (i3 == i - 1) { + int i4 = this.b; + i2 = bVar.c; + i = i4; + } else { + i2 = bVar.c; + int i5 = this.b; + if (i2 == i5 - 1) { + i2 = i3; + } else if (i3 == 19 && i == 21) { + i = i5; + } else { + if (i2 != 19 || i5 != 21) { + throw new RuntimeException("Cannot merge ranges."); + } + i2 = i3; + } + } + } else { + i = z ? this.b : bVar.b; + i2 = z ? this.c : bVar.c; + } + if (d || (i2 < 32768 && i < 32768)) { + return (i2 << 16) + i; + } + throw new AssertionError(); + } + } + + /* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ + public static class c extends b { + public static final c h = new c(false, false, true, false, -1, -1); + public static final c i = new c(false, false, false, false, -1, -1); + public static final c j = new c(true, false, false, false, -1, -1); + public static final c k = new c(false, true, false, false, -1, -1); + public final boolean e; + public final boolean f; + public final boolean g; + + public c(boolean z, boolean z2, boolean z3, boolean z4, int i2, int i3) { + super(i2, i3, z4); + this.e = z; + this.f = z2; + this.g = z3; + } + + public static c a(int i2) { + return new c(false, false, false, true, i2, i2); + } + } + + /* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ + public static class d { + public final E0 a; + public final l b; + public final SortedMap c; + public final SortedMap d; + public final Map e; + public final Map f; + + public d(E0 e0, l lVar, C3366wv c3366wv, C3366wv c3366wv2, HashMap map, HashMap map2) { + this.a = e0; + this.b = lVar; + this.c = c3366wv; + this.d = c3366wv2; + this.e = map; + this.f = map2; + } + + public void a(BiConsumer biConsumer) { + for (C0257g1 c0257g1 : this.d.values()) { + biConsumer.accept(c0257g1, (a) this.f.get(c0257g1.getReference())); + } + } + + public void b(BiConsumer biConsumer) { + for (C0291j1 c0291j1 : this.c.values()) { + biConsumer.accept(c0291j1, (c) this.e.get(c0291j1.getReference())); + } + } + } + + public m(C3366wv c3366wv, List list) { + this.a = c3366wv; + this.b = list; + } + + public void a(Consumer consumer) { + this.a.values().forEach(consumer); + } + + public final List a() { + return this.b; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/n.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/n.java new file mode 100644 index 000000000000..da814ac082d3 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/n.java @@ -0,0 +1,76 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.E0; +import com.android.tools.r8.ir.desugar.desugaredlibrary.lint.m; +import java.util.HashMap; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.function.BiConsumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class n { + public static final /* synthetic */ boolean g = true; + public final E0 a; + public l b; + public final IdentityHashMap c = new IdentityHashMap(); + public final IdentityHashMap d = new IdentityHashMap(); + public final HashMap e = new HashMap(); + public final HashMap f = new HashMap(); + + public n(E0 e0) { + this.a = e0; + } + + public final void a(BiConsumer biConsumer) { + Iterator it = this.d.values().iterator(); + while (it.hasNext()) { + biConsumer.accept(this.a, (C0257g1) it.next()); + } + } + + public final void b(BiConsumer biConsumer) { + Iterator it = this.c.values().iterator(); + while (it.hasNext()) { + biConsumer.accept(this.a, (C0291j1) it.next()); + } + } + + public final void a(C0409w2 c0409w2, m.c cVar) { + if (!g && c0409w2.w0() != this.a.e) { + throw new AssertionError(); + } + HashMap map = this.e; + m.c cVar2 = m.c.i; + m.c cVar3 = (m.c) map.getOrDefault(c0409w2, cVar2); + HashMap map2 = this.e; + if (cVar == cVar2) { + cVar = cVar3; + } else if (cVar3 != cVar2) { + int iA = cVar.a(cVar3); + cVar = new m.c(cVar.e || cVar3.e, cVar.f || cVar3.f, cVar.g || cVar3.g, cVar.a || cVar3.a, iA & 255, iA >> 16); + } + map2.put(c0409w2, cVar); + } + + public final void a(C0309l1 c0309l1, m.a aVar) { + if (!g && c0309l1.w0() != this.a.e) { + throw new AssertionError(); + } + HashMap map = this.f; + m.a aVar2 = m.a.e; + m.a aVar3 = (m.a) map.getOrDefault(c0309l1, aVar2); + HashMap map2 = this.f; + if (aVar == aVar2) { + aVar = aVar3; + } else if (aVar3 != aVar2) { + int iA = aVar.a(aVar3); + aVar = new m.a(iA & 255, iA >> 16, aVar.a || aVar3.a); + } + map2.put(c0309l1, aVar); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/o.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/o.java new file mode 100644 index 000000000000..94131569bf05 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/o.java @@ -0,0 +1,463 @@ +package com.android.tools.r8.ir.desugar.desugaredlibrary.lint; + +import com.android.tools.r8.ClassFileResourceProvider; +import com.android.tools.r8.ProgramResourceProvider; +import com.android.tools.r8.dex.C0034c; +import com.android.tools.r8.graph.AbstractC0264h1; +import com.android.tools.r8.graph.AbstractC0368r2; +import com.android.tools.r8.graph.AbstractC0410w3; +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0203a3; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0262h; +import com.android.tools.r8.graph.C0285j; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.graph.C0350p4; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.graph.E0; +import com.android.tools.r8.graph.E4; +import com.android.tools.r8.graph.F2; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.graph.S4; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.AbstractC1784g4; +import com.android.tools.r8.internal.AbstractC2990sv; +import com.android.tools.r8.internal.AbstractC3424xb0; +import com.android.tools.r8.internal.C1064Vk; +import com.android.tools.r8.internal.C1552dh0; +import com.android.tools.r8.internal.C1653en; +import com.android.tools.r8.internal.C2917s5; +import com.android.tools.r8.internal.C3030tM; +import com.android.tools.r8.internal.C3200vB; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.Fh0; +import com.android.tools.r8.internal.InterfaceC2428mi0; +import com.android.tools.r8.internal.S40; +import com.android.tools.r8.ir.desugar.desugaredlibrary.lint.m; +import com.android.tools.r8.synthesis.E; +import com.android.tools.r8.t0; +import com.android.tools.r8.utils.i; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Predicate; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class o { + public static final /* synthetic */ boolean j = true; + public final AbstractC2990sv a; + public final AbstractC2990sv b; + public final C3200vB c; + public final C0203a3 d; + public final EnumC3471y2 e; + public final k f; + public final boolean g; + public final boolean h; + public final boolean i; + + public o(C3200vB c3200vB, Collection collection, boolean z) throws IOException { + this(c3200vB, collection, z, EnumC3471y2.c, false, false); + } + + public final void a() { + this.f.a(new InterfaceC2428mi0() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda4 + @Override // com.android.tools.r8.internal.InterfaceC2428mi0 + public final void a(Object obj, Object obj2, Object obj3) { + this.f$0.a((E0) obj, (Collection) obj2, (Collection) obj3); + } + }); + } + + public m b(Collection collection, t0 t0Var) throws IOException { + a(collection, t0Var); + b(); + for (C0409w2 c0409w2 : c()) { + k kVar = this.f; + m.c cVar = m.c.j; + if (((n) kVar.a.get(c0409w2.w0())) != null) { + kVar.a(c0409w2, cVar); + } + } + a(t0Var); + a(); + return this.f.a(); + } + + public final Set c() { + Set setC = AbstractC3424xb0.c(); + B1 b1S = this.c.s(); + setC.add(b1S.a(b1S.R2, b1S.a(b1S.c(b1S.c("Ljava/util/stream/Stream;")), new I2[0]), b1S.c("parallelStream"))); + I2 i2C = b1S.c(b1S.c("Ljava/util/stream/BaseStream;")); + String[] strArr = {"Base", "Double", "Int", "Long"}; + for (int i = 0; i < 4; i++) { + I2 i2C2 = b1S.c(b1S.c("Ljava/util/stream/" + strArr[i] + "Stream;")); + setC.add(b1S.a(i2C2, b1S.a(i2C2, new I2[0]), b1S.c("parallel"))); + setC.add(b1S.a(i2C2, b1S.a(i2C, new I2[0]), b1S.c("parallel"))); + } + return setC; + } + + public o(C3200vB c3200vB, Collection collection, boolean z, EnumC3471y2 enumC3471y2, boolean z2, boolean z3) throws IOException { + this.f = new k(); + this.i = z; + this.c = c3200vB; + i.a aVarB = com.android.tools.r8.utils.i.b(); + Iterator it = collection.iterator(); + while (it.hasNext()) { + aVarB.b((ClassFileResourceProvider) it.next()); + } + C0034c c0034c = new C0034c(aVarB.a(), this.c, Fh0.a()); + ExecutorService executorServiceA = C1552dh0.a(this.c); + if (!j && this.c.j0) { + throw new AssertionError(); + } + this.c.j0 = true; + C0350p4 c0350p4A = c0034c.a(executorServiceA); + C3200vB c3200vB2 = this.c; + c3200vB2.j0 = false; + if (c0350p4A.d(c3200vB2.s().e("Ljava/lang/invoke/VarHandle;")) == null && !this.i) { + this.c.i.c("SupportedClassesGenerator expects library above or equal to T, it works below, but the modifiers are not correct which is fine for lint but not html doc generation."); + } + this.d = c0350p4A.i(); + this.e = enumC3471y2; + this.g = z2; + this.h = z3; + B1 b1S = c3200vB.s(); + this.a = AbstractC2990sv.a(3, 3, b1S.l2, b1S.m2, b1S.i2); + I2 i2 = b1S.b3; + C0409w2 c0409w2A = b1S.a(i2, b1S.a(i2, b1S.a2), "ofNullable"); + I2 i22 = b1S.W1; + this.b = AbstractC2990sv.a(2, 2, c0409w2A, b1S.a(i22, b1S.a(b1S.B1, i22, i22), "compare")); + } + + public final void a(E0 e0, Collection collection, Collection collection2) { + k kVar = this.f; + n nVar = (n) kVar.a.get(e0.e); + boolean z = k.c; + if (!z && nVar == null) { + throw new AssertionError(); + } + l lVar = nVar.b; + if (lVar == null || !lVar.a) { + E0 e0D = this.d.d(e0.e); + ArrayList arrayList = new ArrayList(); + ArrayList arrayList2 = new ArrayList(); + boolean zA = a(e0D.M0(), collection, arrayList) & a(e0D.C1(), collection2, arrayList2); + n nVar2 = (n) this.f.a.get(e0.getType()); + if (!z && nVar2 == null) { + throw new AssertionError(); + } + boolean zIsEmpty = zA & nVar2.f.isEmpty(); + n nVar3 = (n) this.f.a.get(e0.getType()); + if (!z && nVar3 == null) { + throw new AssertionError(); + } + Iterator it = nVar3.e.values().iterator(); + while (it.hasNext()) { + zIsEmpty &= ((m.c) it.next()).g; + } + this.f.a(e0.e, new l(zIsEmpty, arrayList, arrayList2)); + } + } + + public final void b() { + this.f.b(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda2 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a((E0) obj, (C0291j1) obj2); + } + }); + } + + public static boolean a(Iterable iterable, Collection collection, ArrayList arrayList) { + Iterator it = iterable.iterator(); + boolean z = true; + while (it.hasNext()) { + final AbstractC0264h1 abstractC0264h1 = (AbstractC0264h1) it.next(); + if (abstractC0264h1.getAccessFlags().m() || abstractC0264h1.getAccessFlags().l()) { + if (collection.stream().noneMatch(new Predicate() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda3 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return o.a(abstractC0264h1, (AbstractC0264h1) obj); + } + })) { + arrayList.add(abstractC0264h1.getReference()); + z = false; + } + } + } + return z; + } + + public static /* synthetic */ boolean a(AbstractC0264h1 abstractC0264h1, AbstractC0264h1 abstractC0264h12) { + return abstractC0264h12.getReference() == abstractC0264h1.getReference(); + } + + public final void a(t0 t0Var) throws IOException { + C3030tM c3030tMA; + List listA; + if (this.f.a.isEmpty()) { + return; + } + for (int iD = EnumC3471y2.r.d(); iD <= a.g.d(); iD++) { + EnumC3471y2 enumC3471y2B = EnumC3471y2.b(iD); + if (t0Var == null) { + c3030tMA = C3030tM.g(); + } else { + C3200vB c3200vB = this.c; + c3030tMA = C1064Vk.a(t0Var, c3200vB.a, c3200vB.i, false, enumC3471y2B.d()).a(this.d, Fh0.a()); + } + this.c.c(enumC3471y2B); + C3200vB c3200vB2 = this.c; + c3200vB2.J1 = null; + c3200vB2.K1 = C3030tM.g(); + this.c.a(c3030tMA); + C0262h c0262hA = C0262h.a(this.d, E.d()); + final C0421y c0421y = new C0421y(c0262hA, AbstractC1784g4.a(c0262hA, c0262hA.j()), new C1653en(), 2, this.c.O(), Fh0.a()); + final C0285j c0285jH = c0421y.h(); + if (!this.g) { + listA = C2917s5.a(this.d, this.c); + } else { + int i = AbstractC0695Iu.c; + listA = S40.e; + } + final List list = listA; + final C3030tM c3030tM = c3030tMA; + final int i2 = iD; + this.f.b(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda5 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a(c3030tM, list, c0285jH, c0421y, i2, (E0) obj, (C0291j1) obj2); + } + }); + final int i3 = iD; + this.f.a(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda6 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a(c3030tM, c0285jH, c0421y, i3, (E0) obj, (C0257g1) obj2); + } + }); + } + } + + public final /* synthetic */ void a(C3030tM c3030tM, List list, C0285j c0285j, C0421y c0421y, int i, E0 e0, C0291j1 c0291j1) { + C0409w2 reference = c0291j1.getReference(); + if (!c3030tM.b(reference) && !list.contains(reference) && !c3030tM.i().containsKey(reference)) { + if (c3030tM.k().containsKey(reference.w0()) && c0291j1.z0()) { + return; + } + S4 s4A = c0285j.a(reference, c0285j.a(reference.w0()).isInterface()); + C0409w2 reference2 = s4A.w() ? s4A.q().getReference() : reference; + com.android.tools.r8.androidapi.a aVarE = c0421y.e(); + int i2 = com.android.tools.r8.androidapi.f.a; + com.android.tools.r8.androidapi.h hVar = com.android.tools.r8.androidapi.h.b; + com.android.tools.r8.androidapi.f fVarA = aVarE.a((AbstractC0368r2) reference2); + if (!fVarA.v()) { + if (!s4A.w()) { + this.f.a(reference, m.c.a(i)); + return; + } + throw new RuntimeException("API database does not recognize the method " + c0291j1.getReference().m0()); + } + if (i < fVarA.Y().a().d()) { + this.f.a(reference, m.c.a(i)); + return; + } + return; + } + if (c3030tM.i().containsKey(reference)) { + this.f.a(reference, m.c.h); + } + } + + public final /* synthetic */ void a(C3030tM c3030tM, C0285j c0285j, C0421y c0421y, int i, E0 e0, C0257g1 c0257g1) { + if (c3030tM.a((F2) c0257g1.F0()) || c3030tM.o().containsKey(c0257g1.getReference())) { + return; + } + AbstractC0410w3 abstractC0410w3C = c0285j.c(c0257g1.getReference()); + if (abstractC0410w3C.y()) { + C0257g1 c0257g1Q = abstractC0410w3C.q(); + com.android.tools.r8.androidapi.a aVarE = c0421y.e(); + C0309l1 reference = c0257g1Q.getReference(); + int i2 = com.android.tools.r8.androidapi.f.a; + com.android.tools.r8.androidapi.h hVar = com.android.tools.r8.androidapi.h.b; + com.android.tools.r8.androidapi.f fVarA = aVarE.a((AbstractC0368r2) reference); + if (fVarA.v()) { + if (i < fVarA.Y().a().d()) { + this.f.a(c0257g1.getReference(), m.a.a(i)); + return; + } + return; + } + throw new RuntimeException("API database does not recognize the field " + c0257g1.getReference().m0()); + } + if (!j && !abstractC0410w3C.h()) { + throw new AssertionError(); + } + this.f.a(c0257g1.getReference(), m.a.a(i)); + } + + public final /* synthetic */ void a(E0 e0, C0291j1 c0291j1) { + E0 e0D = this.d.d(e0.e); + if (!j && e0D == null) { + throw new AssertionError(); + } + if (e0D.c(c0291j1.getReference()) == null) { + this.f.a(c0291j1.getReference(), m.c.k); + } + } + + public final void a(Collection collection, t0 t0Var) throws IOException { + C3030tM c3030tMA; + final List listA; + EnumC3471y2 enumC3471y2 = this.e; + if (t0Var == null) { + c3030tMA = C3030tM.g(); + } else { + C3200vB c3200vB = this.c; + c3030tMA = C1064Vk.a(t0Var, c3200vB.a, c3200vB.i, false, enumC3471y2.d()).a(this.d, Fh0.a()); + } + this.c.c(this.e); + C3200vB c3200vB2 = this.c; + c3200vB2.J1 = null; + c3200vB2.K1 = C3030tM.g(); + this.c.a(c3030tMA); + i.a aVarB = com.android.tools.r8.utils.i.b(); + Iterator it = collection.iterator(); + while (it.hasNext()) { + aVarB.a((ProgramResourceProvider) it.next()); + } + final C0203a3 c0203a3I = new C0034c(aVarB.a(), this.c, Fh0.a()).a().i(); + if (this.g) { + int i = AbstractC0695Iu.c; + listA = S40.e; + } else { + listA = C2917s5.a(this.d, this.c); + } + for (D2 d2 : c0203a3I.d()) { + if (c3030tMA.c.g().containsKey(d2.e)) { + if (!j && !d2.isInterface()) { + throw new AssertionError(); + } + for (C0291j1 c0291j1 : d2.C1()) { + if (c0291j1.o1() || c0291j1.z0()) { + if (!c0291j1.G0().c("lambda$") && !c0291j1.G0().toString().contains("$deserializeLambda$") && !c0291j1.getReference().m0().equals("void java.util.Collection.forEach(java.util.function.Consumer)")) { + this.f.a(d2, c0291j1); + } + } + } + for (C0409w2 c0409w2 : listA) { + if (d2.e == c0409w2.w0()) { + this.f.a(d2, a(this.d.d(d2.e), c0409w2)); + } + } + this.f.a(d2.e, l.e); + } else { + if ((d2.f.m() || d2.f.l()) && c3030tMA.a((F2) d2.e) && this.d.d(d2.e) != null) { + for (C0291j1 c0291j12 : d2.C1()) { + if (!c0291j12.L0()) { + c0291j12.P0(); + if (!c0291j12.g.l()) { + } + } + this.f.a(d2, c0291j12); + } + for (C0257g1 c0257g1 : d2.M0()) { + if (c0257g1.L0() || c0257g1.g.l()) { + this.f.a(d2, c0257g1); + } + } + } + for (C0409w2 c0409w22 : listA) { + if (d2.e == c0409w22.w0()) { + this.f.a(d2, a(this.d.d(d2.e), c0409w22)); + } + } + } + } + c3030tMA.c.a(new Consumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(c0203a3I, listA, (C0409w2) obj); + } + }); + c3030tMA.c.o().forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.desugar.desugaredlibrary.lint.o$$ExternalSyntheticLambda1 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a(c0203a3I, (C0309l1) obj, (C0309l1) obj2); + } + }); + if (this.h) { + ArrayList arrayList = new ArrayList(); + for (C0409w2 c0409w23 : listA) { + if (c0203a3I.d(c0409w23.w0()) == null) { + arrayList.add(c0409w23); + } + } + arrayList.sort(Comparator.naturalOrder()); + this.f.b = arrayList; + } + } + + public final void a(C0203a3 c0203a3, C0309l1 c0309l1, C0309l1 c0309l12) { + C0257g1 c0257g1A; + E0 e0D = c0203a3.d(c0309l1.w0()); + if (e0D != null && (c0257g1A = e0D.a(c0309l1)) != null) { + this.f.a(e0D, c0257g1A); + this.f.a(e0D.e, l.e); + return; + } + E0 e0D2 = this.d.d(c0309l1.w0()); + C0257g1 c0257g1A2 = e0D2.a(c0309l1); + if (!j && c0257g1A2 == null) { + throw new AssertionError(); + } + this.f.a(e0D2, c0257g1A2); + this.f.a(e0D2.e, l.e); + } + + public final void a(C0203a3 c0203a3, List list, C0409w2 c0409w2) { + C0291j1 c0291j1C; + E0 e0D = c0203a3.d(c0409w2.w0()); + if (e0D != null && (c0291j1C = e0D.c(c0409w2)) != null) { + this.f.a(e0D, c0291j1C); + this.f.a(e0D.e, l.e); + return; + } + E0 e0D2 = this.d.d(c0409w2.w0()); + C0291j1 c0291j1A = a(e0D2, c0409w2); + if (c0291j1A != null) { + this.f.a(e0D2, c0291j1A); + this.f.a(e0D2.getType(), l.e); + list.remove(c0409w2); + } + } + + public final C0291j1 a(E0 e0, C0409w2 c0409w2) { + if (e0 != null) { + C0291j1 c0291j1C = e0.c(c0409w2); + if (c0291j1C == null) { + if (!this.i && !this.b.contains(c0409w2) && !this.a.contains(c0409w2.w0())) { + this.c.i.a("Backport missing from library: " + c0409w2); + } + c0291j1C = C0291j1.O0().a(c0409w2).a(E4.b(9, false)).a(); + } + if (j || c0291j1C != null) { + return c0291j1C; + } + throw new AssertionError(); + } + throw new Error("Missing class from Android " + a.g + ": " + c0409w2.w0()); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/varhandle/VarHandleDesugaringMethods.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/varhandle/VarHandleDesugaringMethods.java new file mode 100644 index 000000000000..e0e4ab7e53ee --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/desugar/varhandle/VarHandleDesugaringMethods.java @@ -0,0 +1,3168 @@ +package com.android.tools.r8.ir.desugar.varhandle; + +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.G; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.C0607Ga; +import com.android.tools.r8.internal.C0934Ra; +import com.android.tools.r8.internal.C0987Sx; +import com.android.tools.r8.internal.C1027Ua; +import com.android.tools.r8.internal.C1134Ya; +import com.android.tools.r8.internal.C1164Za; +import com.android.tools.r8.internal.C1304b9; +import com.android.tools.r8.internal.C1335ba; +import com.android.tools.r8.internal.C1409c9; +import com.android.tools.r8.internal.C1479cw; +import com.android.tools.r8.internal.C1521dM; +import com.android.tools.r8.internal.C1611eM; +import com.android.tools.r8.internal.C1796gA; +import com.android.tools.r8.internal.C1982i9; +import com.android.tools.r8.internal.C2647p9; +import com.android.tools.r8.internal.C2826r9; +import com.android.tools.r8.internal.C3014t9; +import com.android.tools.r8.internal.C3109u9; +import com.android.tools.r8.internal.C3293w9; +import com.android.tools.r8.internal.C3328wa; +import com.android.tools.r8.internal.C3389x8; +import com.android.tools.r8.internal.C3391x9; +import com.android.tools.r8.internal.C3421xa; +import com.android.tools.r8.internal.C3483y8; +import com.android.tools.r8.internal.C3485y9; +import com.android.tools.r8.internal.C3579z8; +import com.android.tools.r8.internal.Ec0; +import com.android.tools.r8.internal.EnumC2621ou; +import com.android.tools.r8.internal.G9; +import com.android.tools.r8.internal.Hl0; +import com.android.tools.r8.internal.InterfaceC1376br; +import com.android.tools.r8.internal.K8; +import com.android.tools.r8.internal.K9; +import com.android.tools.r8.internal.LN; +import com.android.tools.r8.internal.P9; +import com.android.tools.r8.internal.S40; +import com.android.tools.r8.internal.V8; +import com.android.tools.r8.internal.W9; +import com.android.tools.r8.internal.WS; +import com.android.tools.r8.internal.Z8; +import com.qualcomm.ftccommon.configuration.RobotConfigResFilter; +import com.sun.tools.javac.jvm.ByteCodes; +import java.util.ArrayDeque; +import java.util.Arrays; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class VarHandleDesugaringMethods { + public static G A(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + P9 p95 = new P9(hl0, 2); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.E1, b1.a2, b1.B1), b1.c("set")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 0); + P9 p910 = new P9(hl0, 2); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.E1, b1.a2, b1.C1), b1.c("set")), false); + C2647p9 c2647p92 = new C2647p9(k96); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p912 = new P9(hl0, 1); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p914 = new P9(hl0, 2); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, p93, p94, p95, c1304b9, g9, g92, c2647p9, k93, c1982i9, p96, c3293w92, c0934Ra2, c3014t92, k94, p97, p98, p99, p910, c1304b92, g93, g94, c2647p92, k95, c1982i92, p911, c3293w93, p912, p913, c3293w94, p914, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, b1.C1, i23), b1.c("putObject")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 5, 3, abstractC0695IuA, s40, s40); + } + + public static G B(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.a2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 4); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 4); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 3); + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putInt")), false); + C2647p9 c2647p9 = new C2647p9(k99); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1521dM, c1611eM})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v82 = new V8(b1.L1, false); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p914 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p915 = new P9(hl0, 1); + P9 p916 = new P9(hl03, 4); + P9 p917 = new P9(hl0, 0); + P9 p918 = new P9(hl0, 3); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLong")), false); + C2647p9 c2647p92 = new C2647p9(k99); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p920 = new P9(hl0, 1); + P9 p921 = new P9(hl03, 4); + P9 p922 = new P9(hl0, 3); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, v8, c3014t92, k95, p98, c3293w96, p99, p910, p911, p912, c1304b9, g94, g95, c2647p9, k96, c1982i93, p913, c3293w97, v82, c3014t93, k97, p914, c3293w98, p915, p916, p917, p918, c1304b92, g96, g97, c2647p92, k98, c1982i94, p919, c3293w99, p920, p921, p922, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, b1.C1, i26), b1.c("putObject")), false), k99, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})), new C3421xa(), k910); + S40 s40 = S40.e; + return new G(i2, 7, 6, abstractC0695IuA, s40, s40); + } + + public static G C(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.K1); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, new C1027Ua(hl03, 4), k94, new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 1), new P9(hl03, 4), new P9(hl02, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putInt")), false), k95, new C3421xa(), k96); + S40 s40 = S40.e; + return new G(i2, 6, 6, abstractC0695IuA, s40, s40); + } + + public static G D(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.L1), C1796gA.c, C1521dM.c, C1611eM.d})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p93 = new P9(Hl0.c, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl02 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl02, 5); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl02, 5); + P9 p98 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLong")), false), k95, new C3421xa(), k96); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G E(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p95 = new P9(hl02, 2); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putInt")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p910 = new P9(hl02, 2); + C1335ba c1335ba = new C1335ba(WS.e, WS.f); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLong")), false); + C2647p9 c2647p92 = new C2647p9(k96); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 1); + P9 p913 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, g9, c2647p9, k93, c1982i9, p96, c3293w94, c0934Ra2, c3014t92, k94, p97, c3293w95, p98, p99, c3293w96, p910, c1335ba, g92, c2647p92, k95, c1982i92, p911, p912, p913, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, i26), b1.c("set")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 6, 3, abstractC0695IuA, s40, s40); + } + + public static G F(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.e; + P9 p95 = new P9(hl02, 2); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLong")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1521dM, c1611eM})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p911 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, g9, c2647p9, k93, c1982i9, p96, c3293w94, c0934Ra2, c3014t92, k94, p97, g92, c1134Ya, k95, c1982i92, p98, c3293w95, p99, p910, c3293w96, p911, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, b1.C1, i26), b1.c("putObject")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 6, 4, abstractC0695IuA, s40, s40); + } + + public static G G(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + P9 p95 = new P9(hl0, 2); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.E1, b1.a2, b1.B1), b1.c("setRelease")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 0); + P9 p910 = new P9(hl0, 2); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.E1, b1.a2, b1.C1), b1.c("setRelease")), false); + C2647p9 c2647p92 = new C2647p9(k96); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p912 = new P9(hl0, 1); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p914 = new P9(hl0, 2); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, p93, p94, p95, c1304b9, g9, g92, c2647p9, k93, c1982i9, p96, c3293w92, c0934Ra2, c3014t92, k94, p97, p98, p99, p910, c1304b92, g93, g94, c2647p92, k95, c1982i92, p911, c3293w93, p912, p913, c3293w94, p914, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, b1.C1, i23), b1.c("putOrderedObject")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 5, 3, abstractC0695IuA, s40, s40); + } + + public static G H(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.a2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 4); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 4); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 3); + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putOrderedInt")), false); + C2647p9 c2647p9 = new C2647p9(k99); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1521dM, c1611eM})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v82 = new V8(b1.L1, false); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p914 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p915 = new P9(hl0, 1); + P9 p916 = new P9(hl03, 4); + P9 p917 = new P9(hl0, 0); + P9 p918 = new P9(hl0, 3); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putOrderedLong")), false); + C2647p9 c2647p92 = new C2647p9(k99); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p920 = new P9(hl0, 1); + P9 p921 = new P9(hl03, 4); + P9 p922 = new P9(hl0, 3); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, v8, c3014t92, k95, p98, c3293w96, p99, p910, p911, p912, c1304b9, g94, g95, c2647p9, k96, c1982i93, p913, c3293w97, v82, c3014t93, k97, p914, c3293w98, p915, p916, p917, p918, c1304b92, g96, g97, c2647p92, k98, c1982i94, p919, c3293w99, p920, p921, p922, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, b1.C1, i26), b1.c("putOrderedObject")), false), k99, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})), new C3421xa(), k910); + S40 s40 = S40.e; + return new G(i2, 7, 6, abstractC0695IuA, s40, s40); + } + + public static G I(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.K1); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, new C1027Ua(hl03, 4), k94, new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 1), new P9(hl03, 4), new P9(hl02, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putOrderedInt")), false), k95, new C3421xa(), k96); + S40 s40 = S40.e; + return new G(i2, 6, 6, abstractC0695IuA, s40, s40); + } + + public static G J(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.L1), C1796gA.c, C1521dM.c, C1611eM.d})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p93 = new P9(Hl0.c, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl02 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl02, 5); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl02, 5); + P9 p98 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putOrderedLong")), false), k95, new C3421xa(), k96); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G K(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p95 = new P9(hl02, 2); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putOrderedInt")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p910 = new P9(hl02, 2); + C1335ba c1335ba = new C1335ba(WS.e, WS.f); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putOrderedLong")), false); + C2647p9 c2647p92 = new C2647p9(k96); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 1); + P9 p913 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, g9, c2647p9, k93, c1982i9, p96, c3293w94, c0934Ra2, c3014t92, k94, p97, c3293w95, p98, p99, c3293w96, p910, c1335ba, g92, c2647p92, k95, c1982i92, p911, p912, p913, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, i26), b1.c("setRelease")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 6, 3, abstractC0695IuA, s40, s40); + } + + public static G L(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.e; + P9 p95 = new P9(hl02, 2); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putOrderedLong")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1521dM, c1611eM})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p911 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, g9, c2647p9, k93, c1982i9, p96, c3293w94, c0934Ra2, c3014t92, k94, p97, g92, c1134Ya, k95, c1982i92, p98, c3293w95, p99, p910, c3293w96, p911, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, b1.C1, i26), b1.c("putOrderedObject")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 6, 4, abstractC0695IuA, s40, s40); + } + + public static G M(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + P9 p95 = new P9(hl0, 2); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.E1, b1.a2, b1.B1), b1.c("setVolatile")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 0); + P9 p910 = new P9(hl0, 2); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.E1, b1.a2, b1.C1), b1.c("setVolatile")), false); + C2647p9 c2647p92 = new C2647p9(k96); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p912 = new P9(hl0, 1); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p914 = new P9(hl0, 2); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, p93, p94, p95, c1304b9, g9, g92, c2647p9, k93, c1982i9, p96, c3293w92, c0934Ra2, c3014t92, k94, p97, p98, p99, p910, c1304b92, g93, g94, c2647p92, k95, c1982i92, p911, c3293w93, p912, p913, c3293w94, p914, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, b1.C1, i23), b1.c("putObjectVolatile")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 5, 3, abstractC0695IuA, s40, s40); + } + + public static G N(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.a2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 4); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 4); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 3); + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putIntVolatile")), false); + C2647p9 c2647p9 = new C2647p9(k99); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1521dM, c1611eM})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v82 = new V8(b1.L1, false); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p914 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p915 = new P9(hl0, 1); + P9 p916 = new P9(hl03, 4); + P9 p917 = new P9(hl0, 0); + P9 p918 = new P9(hl0, 3); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLongVolatile")), false); + C2647p9 c2647p92 = new C2647p9(k99); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p920 = new P9(hl0, 1); + P9 p921 = new P9(hl03, 4); + P9 p922 = new P9(hl0, 3); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, v8, c3014t92, k95, p98, c3293w96, p99, p910, p911, p912, c1304b9, g94, g95, c2647p9, k96, c1982i93, p913, c3293w97, v82, c3014t93, k97, p914, c3293w98, p915, p916, p917, p918, c1304b92, g96, g97, c2647p92, k98, c1982i94, p919, c3293w99, p920, p921, p922, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, b1.C1, i26), b1.c("putObjectVolatile")), false), k99, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})), new C3421xa(), k910); + S40 s40 = S40.e; + return new G(i2, 7, 6, abstractC0695IuA, s40, s40); + } + + public static G O(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.K1); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, new C1027Ua(hl03, 4), k94, new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 1), new P9(hl03, 4), new P9(hl02, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putIntVolatile")), false), k95, new C3421xa(), k96); + S40 s40 = S40.e; + return new G(i2, 6, 6, abstractC0695IuA, s40, s40); + } + + public static G P(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.L1), C1796gA.c, C1521dM.c, C1611eM.d})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p93 = new P9(Hl0.c, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl02 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl02, 5); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl02, 5); + P9 p98 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLongVolatile")), false), k95, new C3421xa(), k96); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G Q(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p95 = new P9(hl02, 2); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.E1, b1.a2, b1.C1, b1.B1), b1.c("putIntVolatile")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p910 = new P9(hl02, 2); + C1335ba c1335ba = new C1335ba(WS.e, WS.f); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLongVolatile")), false); + C2647p9 c2647p92 = new C2647p9(k96); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 1); + P9 p913 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, g9, c2647p9, k93, c1982i9, p96, c3293w94, c0934Ra2, c3014t92, k94, p97, c3293w95, p98, p99, c3293w96, p910, c1335ba, g92, c2647p92, k95, c1982i92, p911, p912, p913, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, i26), b1.c("setVolatile")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 6, 3, abstractC0695IuA, s40, s40); + } + + public static G R(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.e; + P9 p95 = new P9(hl02, 2); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.E1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24), b1.c("putLongVolatile")), false); + C2647p9 c2647p9 = new C2647p9(k96); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1521dM, c1611eM})); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p97 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p911 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i25 = b1.E1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, g9, c2647p9, k93, c1982i9, p96, c3293w94, c0934Ra2, c3014t92, k94, p97, g92, c1134Ya, k95, c1982i92, p98, c3293w95, p99, p910, c3293w96, p911, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, b1.C1, i26), b1.c("putObjectVolatile")), false), k96, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})), new C3421xa(), k97); + S40 s40 = S40.e; + return new G(i2, 6, 4, abstractC0695IuA, s40, s40); + } + + public static G S(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 1); + C3485y9 c3485y9 = new C3485y9(b1.e("Ljava/lang/Integer;")); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k93); + P9 p92 = new P9(hl0, 1); + K8 k8 = new K8(b1.e("Ljava/lang/Integer;")); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.B1, new I2[0]), b1.c("intValue")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3485y9, c2826r9, k92, p92, k8, g9, c3328wa, k93, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA})), new P9(hl0, 1), new C3485y9(b1.e("Ljava/lang/Byte;")), new C2826r9(enumC2621ou, hl02, k95), k94, new P9(hl0, 1), new K8(b1.e("Ljava/lang/Byte;")), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Byte;"), b1.a(b1.x1, new I2[0]), b1.c("byteValue")), false), new C3328wa(hl02), k95, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new P9(hl0, 1), new C3485y9(b1.P1), new C2826r9(enumC2621ou, hl02, k97), k96, new P9(hl0, 1), new K8(b1.P1), new G9(ByteCodes.invokevirtual, b1.a(b1.P1, b1.a(b1.y1, new I2[0]), b1.c("charValue")), false), new C3328wa(hl02), k97, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new P9(hl0, 1), new C3485y9(b1.e("Ljava/lang/Short;")), new C2826r9(enumC2621ou, hl02, k99), k98, new P9(hl0, 1), new K8(b1.e("Ljava/lang/Short;")), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Short;"), b1.a(b1.D1, new I2[0]), b1.c("shortValue")), false), new C3328wa(hl02), k99, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new P9(hl02, 2), new C2826r9(enumC2621ou, hl02, k911), k910, new W9(b1.e("Ljava/lang/ClassCastException;")), new C0607Ga(C0607Ga.a.e), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/ClassCastException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false), new C1134Ya(), k911, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})), new P9(hl0, 0), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false), new C1134Ya(), k912); + S40 s40 = S40.e; + return new G(i2, 2, 3, abstractC0695IuA, s40, s40); + } + + public static G T(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 1); + C3485y9 c3485y9 = new C3485y9(b1.e("Ljava/lang/Long;")); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k93); + P9 p92 = new P9(hl0, 1); + K8 k8 = new K8(b1.e("Ljava/lang/Long;")); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.C1, new I2[0]), b1.c("longValue")), false); + Hl0 hl03 = Hl0.e; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3485y9, c2826r9, k92, p92, k8, g9, new C3328wa(hl03), k93, new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), C1796gA.c})), new P9(hl0, 0), new P9(hl0, 1), new P9(hl02, 2), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false), new C1335ba(WS.e, WS.f), new C3328wa(hl03), k94); + S40 s40 = S40.e; + return new G(i2, 3, 3, abstractC0695IuA, s40, s40); + } + + public static G U(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k95); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl0, 0); + P9 p96 = new P9(hl0, 2); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 3); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k99); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p911 = new P9(hl0, 1); + P9 p912 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p913 = new P9(hl0, 0); + P9 p914 = new P9(hl0, 2); + C1304b9 c1304b93 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + P9 p915 = new P9(hl0, 0); + P9 p916 = new P9(hl0, 3); + C1304b9 c1304b94 = new C1304b9(0L, hl02); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i26 = b1.w1; + I2 i27 = b1.a2; + I2 i28 = b1.C1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i26, i27, i28, i28, i28), b1.c("compareAndSwapLong")), false); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p917 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p918 = new P9(hl0, 1); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p920 = new P9(hl0, 2); + P9 p921 = new P9(hl0, 3); + I2 i2E3 = b1.e("Lsun/misc/Unsafe;"); + I2 i29 = b1.w1; + I2 i210 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, p96, c1304b9, k93, g9, p97, p98, c1304b92, g92, k94, g93, c3328wa, k95, c1982i9, p99, c3293w94, c0934Ra2, c3014t92, k96, p910, c3293w95, p911, p912, c3293w96, p913, p914, c1304b93, k97, g94, p915, p916, c1304b94, g95, k98, g96, c3328wa2, k99, c1982i92, p917, c3293w97, p918, p919, c3293w98, p920, p921, new G9(ByteCodes.invokevirtual, b1.a(i2E3, b1.a(i29, i210, b1.C1, i210, i210), b1.c("compareAndSwapObject")), false), new C3328wa(hl02), k910); + S40 s40 = S40.e; + return new G(i2, 9, 4, abstractC0695IuA, s40, s40); + } + + public static G V(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + K9 k913 = new K9(); + K9 k914 = new K9(); + K9 k915 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 5); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k99); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 5); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 3); + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + P9 p913 = new P9(hl0, 0); + P9 p914 = new P9(hl0, 4); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB6 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1479cwB6, c1521dM, c1611eM})); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v82 = new V8(b1.L1, false); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k914); + P9 p916 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p917 = new P9(hl0, 1); + P9 p918 = new P9(hl03, 5); + P9 p919 = new P9(hl0, 0); + P9 p920 = new P9(hl0, 3); + C1304b9 c1304b93 = new C1304b9(0L, hl02); + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + P9 p921 = new P9(hl0, 0); + P9 p922 = new P9(hl0, 4); + C1304b9 c1304b94 = new C1304b9(0L, hl02); + G9 g98 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i26 = b1.w1; + I2 i27 = b1.a2; + I2 i28 = b1.C1; + G9 g99 = new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i26, i27, i28, i28, i28), b1.c("compareAndSwapLong")), false); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p923 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p924 = new P9(hl0, 1); + P9 p925 = new P9(hl03, 5); + P9 p926 = new P9(hl0, 3); + P9 p927 = new P9(hl0, 4); + I2 i2E3 = b1.e("Lsun/misc/Unsafe;"); + I2 i29 = b1.w1; + I2 i210 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, v8, c3014t92, k95, p98, c3293w96, p99, p910, p911, p912, c1304b9, k96, g94, p913, p914, c1304b92, k97, g95, k98, g96, c3328wa, k99, c1982i93, p915, c3293w97, v82, c3014t93, k910, p916, c3293w98, p917, p918, p919, p920, c1304b93, k911, g97, p921, p922, c1304b94, k912, g98, k913, g99, c3328wa2, k914, c1982i94, p923, c3293w99, p924, p925, p926, p927, new G9(ByteCodes.invokevirtual, b1.a(i2E3, b1.a(i29, i210, b1.C1, i210, i210), b1.c("compareAndSwapObject")), false), new C3328wa(hl02), k915); + S40 s40 = S40.e; + return new G(i2, 9, 7, abstractC0695IuA, s40, s40); + } + + public static G W(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.K1); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA, c1796gA})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 5); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl03, 5); + P9 p98 = new P9(hl02, 3); + P9 p99 = new P9(hl02, 4); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, p99, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G X(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.L1); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, C1796gA.c, c1521dM, c1611eM, c1521dM, c1611eM})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 7); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl03, 7); + P9 p98 = new P9(hl03, 3); + P9 p99 = new P9(hl03, 5); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, p99, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24, i24), b1.c("compareAndSwapLong")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 8, 9, abstractC0695IuA, s40, s40); + } + + public static G Y(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p95 = new P9(hl02, 2); + P9 p96 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA})); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p911 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p912 = new P9(hl02, 3); + C1335ba c1335ba2 = new C1335ba(ws, ws2); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i26 = b1.w1; + I2 i27 = b1.a2; + I2 i28 = b1.C1; + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i26, i27, i28, i28, i28), b1.c("compareAndSwapLong")), false); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, c1796gA})); + P9 p913 = new P9(hl0, 0); + P9 p914 = new P9(hl0, 1); + P9 p915 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + P9 p916 = new P9(hl02, 3); + G9 g94 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + I2 i2E3 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i29 = b1.w1; + I2 i210 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, p96, g9, c3328wa, k93, c1982i9, p97, c3293w94, c0934Ra2, c3014t92, k94, p98, c3293w95, p99, p910, c3293w96, p911, c1335ba, p912, c1335ba2, g92, c3328wa2, k95, c1982i92, p913, p914, p915, g93, p916, g94, new G9(ByteCodes.invokevirtual, b1.a(i2E3, b1.a(i29, i210, i210, i210), b1.c("compareAndSet")), false), new C3328wa(hl02), k96); + S40 s40 = S40.e; + return new G(i2, 8, 4, abstractC0695IuA, s40, s40); + } + + public static G Z(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.g, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.e; + P9 p95 = new P9(hl02, 2); + P9 p96 = new P9(hl02, 4); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24, i24), b1.c("compareAndSwapLong")), false); + Hl0 hl03 = Hl0.c; + C3328wa c3328wa = new C3328wa(hl03); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1521dM, c1611eM, c1521dM, c1611eM})); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl02, 2); + G9 g92 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + P9 p910 = new P9(hl02, 4); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i25 = b1.w1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, p96, g9, c3328wa, k93, c1982i9, p97, p98, p99, g92, p910, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, i26, i26), b1.c("compareAndSet")), false), new C3328wa(hl03), k94); + S40 s40 = S40.e; + return new G(i2, 8, 6, abstractC0695IuA, s40, s40); + } + + public static G a(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 3); + V8 v8 = new V8(b1.e("Ljava/lang/Float;"), false); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + Hl0 hl02 = Hl0.e; + P9 p92 = new P9(hl02, 1); + WS ws = WS.f; + C1335ba c1335ba = new C1335ba(ws, WS.g); + G9 g9 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Float;"), b1.a(b1.e("Ljava/lang/Float;"), b1.A1), b1.c("valueOf")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, v8, c3014t9, k92, p92, c1335ba, g9, c3328wa, k93, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1521dM, c1611eM, InterfaceC1376br.b(b1.o2)})), new P9(hl0, 3), new V8(b1.e("Ljava/lang/Double;"), false), new C3014t9(enumC2621ou, hl0, k95), k94, new P9(hl02, 1), new C1335ba(ws, WS.h), new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Double;"), b1.a(b1.e("Ljava/lang/Double;"), b1.z1), b1.c("valueOf")), false), new C3328wa(hl0), k95, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), c1521dM, c1611eM, InterfaceC1376br.b(b1.o2)})), new P9(hl0, 0), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false), new C1134Ya(), k96); + S40 s40 = S40.e; + return new G(i2, 2, 4, abstractC0695IuA, s40, s40); + } + + public static G b(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k95); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl0, 0); + P9 p96 = new P9(hl0, 2); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 3); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k99); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p911 = new P9(hl0, 1); + P9 p912 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p913 = new P9(hl0, 0); + P9 p914 = new P9(hl0, 2); + C1304b9 c1304b93 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + P9 p915 = new P9(hl0, 0); + P9 p916 = new P9(hl0, 3); + C1304b9 c1304b94 = new C1304b9(0L, hl02); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i26 = b1.w1; + I2 i27 = b1.a2; + I2 i28 = b1.C1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i26, i27, i28, i28, i28), b1.c("compareAndSwapLong")), false); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p917 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p918 = new P9(hl0, 1); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p920 = new P9(hl0, 2); + P9 p921 = new P9(hl0, 3); + I2 i2E3 = b1.e("Lsun/misc/Unsafe;"); + I2 i29 = b1.w1; + I2 i210 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, p96, c1304b9, k93, g9, p97, p98, c1304b92, g92, k94, g93, c3328wa, k95, c1982i9, p99, c3293w94, c0934Ra2, c3014t92, k96, p910, c3293w95, p911, p912, c3293w96, p913, p914, c1304b93, k97, g94, p915, p916, c1304b94, g95, k98, g96, c3328wa2, k99, c1982i92, p917, c3293w97, p918, p919, c3293w98, p920, p921, new G9(ByteCodes.invokevirtual, b1.a(i2E3, b1.a(i29, i210, b1.C1, i210, i210), b1.c("compareAndSwapObject")), false), new C3328wa(hl02), k910); + S40 s40 = S40.e; + return new G(i2, 9, 4, abstractC0695IuA, s40, s40); + } + + public static G c(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + K9 k913 = new K9(); + K9 k914 = new K9(); + K9 k915 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 5); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k99); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 5); + P9 p911 = new P9(hl0, 0); + P9 p912 = new P9(hl0, 3); + C1304b9 c1304b9 = new C1304b9(0L, hl02); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + P9 p913 = new P9(hl0, 0); + P9 p914 = new P9(hl0, 4); + C1304b9 c1304b92 = new C1304b9(0L, hl02); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB6 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1479cwB6, c1521dM, c1611eM})); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v82 = new V8(b1.L1, false); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k914); + P9 p916 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p917 = new P9(hl0, 1); + P9 p918 = new P9(hl03, 5); + P9 p919 = new P9(hl0, 0); + P9 p920 = new P9(hl0, 3); + C1304b9 c1304b93 = new C1304b9(0L, hl02); + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + P9 p921 = new P9(hl0, 0); + P9 p922 = new P9(hl0, 4); + C1304b9 c1304b94 = new C1304b9(0L, hl02); + G9 g98 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i26 = b1.w1; + I2 i27 = b1.a2; + I2 i28 = b1.C1; + G9 g99 = new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i26, i27, i28, i28, i28), b1.c("compareAndSwapLong")), false); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.a2), c1521dM, c1611eM})); + P9 p923 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p924 = new P9(hl0, 1); + P9 p925 = new P9(hl03, 5); + P9 p926 = new P9(hl0, 3); + P9 p927 = new P9(hl0, 4); + I2 i2E3 = b1.e("Lsun/misc/Unsafe;"); + I2 i29 = b1.w1; + I2 i210 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, v8, c3014t92, k95, p98, c3293w96, p99, p910, p911, p912, c1304b9, k96, g94, p913, p914, c1304b92, k97, g95, k98, g96, c3328wa, k99, c1982i93, p915, c3293w97, v82, c3014t93, k910, p916, c3293w98, p917, p918, p919, p920, c1304b93, k911, g97, p921, p922, c1304b94, k912, g98, k913, g99, c3328wa2, k914, c1982i94, p923, c3293w99, p924, p925, p926, p927, new G9(ByteCodes.invokevirtual, b1.a(i2E3, b1.a(i29, i210, b1.C1, i210, i210), b1.c("compareAndSwapObject")), false), new C3328wa(hl02), k915); + S40 s40 = S40.e; + return new G(i2, 9, 7, abstractC0695IuA, s40, s40); + } + + public static G d(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.K1); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA, c1796gA})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 5); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl03, 5); + P9 p98 = new P9(hl02, 3); + P9 p99 = new P9(hl02, 4); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, p99, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G e(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.L1); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, C1796gA.c, c1521dM, c1611eM, c1521dM, c1611eM})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 7); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl03, 7); + P9 p98 = new P9(hl03, 3); + P9 p99 = new P9(hl03, 5); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, p98, p99, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24, i24), b1.c("compareAndSwapLong")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 8, 9, abstractC0695IuA, s40, s40); + } + + public static G f(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p95 = new P9(hl02, 2); + P9 p96 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + I2 i25 = b1.B1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i25, i25), b1.c("compareAndSwapInt")), false); + C3328wa c3328wa = new C3328wa(hl02); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, c1796gA})); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p911 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p912 = new P9(hl02, 3); + C1335ba c1335ba2 = new C1335ba(ws, ws2); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i26 = b1.w1; + I2 i27 = b1.a2; + I2 i28 = b1.C1; + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i26, i27, i28, i28, i28), b1.c("compareAndSwapLong")), false); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, c1796gA})); + P9 p913 = new P9(hl0, 0); + P9 p914 = new P9(hl0, 1); + P9 p915 = new P9(hl02, 2); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + P9 p916 = new P9(hl02, 3); + G9 g94 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + I2 i2E3 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i29 = b1.w1; + I2 i210 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, p96, g9, c3328wa, k93, c1982i9, p97, c3293w94, c0934Ra2, c3014t92, k94, p98, c3293w95, p99, p910, c3293w96, p911, c1335ba, p912, c1335ba2, g92, c3328wa2, k95, c1982i92, p913, p914, p915, g93, p916, g94, new G9(ByteCodes.invokevirtual, b1.a(i2E3, b1.a(i29, i210, i210, i210), b1.c("compareAndSet")), false), new C3328wa(hl02), k96); + S40 s40 = S40.e; + return new G(i2, 8, 4, abstractC0695IuA, s40, s40); + } + + public static G g(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.g, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.e; + P9 p95 = new P9(hl02, 2); + P9 p96 = new P9(hl02, 4); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.w1; + I2 i23 = b1.a2; + I2 i24 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i23, i24, i24, i24), b1.c("compareAndSwapLong")), false); + Hl0 hl03 = Hl0.c; + C3328wa c3328wa = new C3328wa(hl03); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1521dM, c1611eM, c1521dM, c1611eM})); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl02, 2); + G9 g92 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + P9 p910 = new P9(hl02, 4); + G9 g93 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + I2 i2E2 = b1.e("Ljava/lang/invoke/VarHandle;"); + I2 i25 = b1.w1; + I2 i26 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, p95, p96, g9, c3328wa, k93, c1982i9, p97, p98, p99, g92, p910, g93, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i25, i26, i26, i26), b1.c("compareAndSet")), false), new C3328wa(hl03), k94); + S40 s40 = S40.e; + return new G(i2, 8, 6, abstractC0695IuA, s40, s40); + } + + public static G h(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + K9 k913 = new K9(); + K9 k914 = new K9(); + K9 k915 = new K9(); + K9 k916 = new K9(); + K9 k917 = new K9(); + K9 k918 = new K9(); + K9 k919 = new K9(); + K9 k920 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.a2, b1.a(b1.E1, new I2[0]), b1.c("")), false); + P9 p92 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/reflect/Field;"), new I2[0]), b1.c("getUnsafeField")), false); + C1027Ua c1027Ua = new C1027Ua(hl0, 2); + P9 p93 = new P9(hl0, 2); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(1L, hl02); + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.a(b1.E1, b1.w1), b1.c("setAccessible")), false); + P9 p94 = new P9(hl0, 0); + P9 p95 = new P9(hl0, 2); + Z8 z8 = new Z8(); + I2 i2E = b1.e("Ljava/lang/reflect/Field;"); + I2 i22 = b1.a2; + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i22), b1.c("get")), false); + K8 k8 = new K8(b1.e("Lsun/misc/Unsafe;")); + C3391x9 c3391x9 = new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + C2826r9 c2826r9 = new C2826r9(EnumC2621ou.g, hl02, k97); + W9 w9 = new W9(b1.e("Ljava/lang/IllegalArgumentException;")); + C0607Ga.a aVar = C0607Ga.a.e; + C0607Ga c0607Ga = new C0607Ga(aVar); + W9 w92 = new W9(b1.x2); + C0607Ga c0607Ga2 = new C0607Ga(aVar); + G9 g96 = new G9(ByteCodes.invokespecial, b1.a(b1.x2, b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1409c9 c1409c9 = new C1409c9(b1.c("not an array ")); + I2 i23 = b1.x2; + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(i23, b1.a(i23, b1.Y1), b1.c("append")), false); + P9 p97 = new P9(hl0, 1); + G9 g98 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.Y1, new I2[0]), b1.c("getSimpleName")), false); + I2 i24 = b1.x2; + G9 g99 = new G9(ByteCodes.invokevirtual, b1.a(i24, b1.a(i24, b1.Y1), b1.c("append")), false); + G9 g910 = new G9(ByteCodes.invokevirtual, b1.a(b1.x2, b1.a(b1.Y1, new I2[0]), b1.c("toString")), false); + G9 g911 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/IllegalArgumentException;"), b1.a(b1.E1, b1.Y1), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.o2), InterfaceC1376br.b(b1.e("Ljava/lang/reflect/Field;"))})); + P9 p98 = new P9(hl0, 1); + I2 i25 = b1.o2; + G9 g912 = new G9(ByteCodes.invokevirtual, b1.a(i25, b1.a(i25, new I2[0]), b1.c("getComponentType")), false); + C1027Ua c1027Ua2 = new C1027Ua(hl0, 3); + P9 p99 = new P9(hl0, 3); + G9 g913 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + C2826r9 c2826r92 = new C2826r9(enumC2621ou, hl02, k911); + W9 w93 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga3 = new C0607Ga(aVar); + W9 w94 = new W9(b1.x2); + C0607Ga c0607Ga4 = new C0607Ga(aVar); + G9 g914 = new G9(ByteCodes.invokespecial, b1.a(b1.x2, b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1409c9 c1409c92 = new C1409c9(b1.c("Using a VarHandle for a multidimensional array ")); + I2 i26 = b1.x2; + G9 g915 = new G9(ByteCodes.invokevirtual, b1.a(i26, b1.a(i26, b1.Y1), b1.c("append")), false); + P9 p910 = new P9(hl0, 0); + G9 g916 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.Y1, new I2[0]), b1.c("arrayRequiringNativeSupport")), false); + I2 i27 = b1.x2; + G9 g917 = new G9(ByteCodes.invokevirtual, b1.a(i27, b1.a(i27, b1.Y1), b1.c("append")), false); + G9 g918 = new G9(ByteCodes.invokevirtual, b1.a(b1.x2, b1.a(b1.Y1, new I2[0]), b1.c("toString")), false); + G9 g919 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, b1.Y1), b1.c("")), false); + C1134Ya c1134Ya2 = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.o2), InterfaceC1376br.b(b1.e("Ljava/lang/reflect/Field;")), InterfaceC1376br.b(b1.o2)})); + P9 p911 = new P9(hl0, 3); + G9 g920 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isPrimitive")), false); + C2826r9 c2826r93 = new C2826r9(enumC2621ou, hl02, k915); + P9 p912 = new P9(hl0, 3); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k915); + P9 p913 = new P9(hl0, 3); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k915); + W9 w95 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga5 = new C0607Ga(aVar); + W9 w96 = new W9(b1.x2); + C0607Ga c0607Ga6 = new C0607Ga(aVar); + G9 g921 = new G9(ByteCodes.invokespecial, b1.a(b1.x2, b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1409c9 c1409c93 = new C1409c9(b1.c("Using a VarHandle for an array of type '")); + I2 i28 = b1.x2; + G9 g922 = new G9(ByteCodes.invokevirtual, b1.a(i28, b1.a(i28, b1.Y1), b1.c("append")), false); + P9 p914 = new P9(hl0, 3); + G9 g923 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.Y1, new I2[0]), b1.c("getName")), false); + I2 i29 = b1.x2; + G9 g924 = new G9(ByteCodes.invokevirtual, b1.a(i29, b1.a(i29, b1.Y1), b1.c("append")), false); + C1409c9 c1409c94 = new C1409c9(b1.c("' ")); + I2 i210 = b1.x2; + G9 g925 = new G9(ByteCodes.invokevirtual, b1.a(i210, b1.a(i210, b1.Y1), b1.c("append")), false); + P9 p915 = new P9(hl0, 0); + G9 g926 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.Y1, new I2[0]), b1.c("arrayRequiringNativeSupport")), false); + I2 i211 = b1.x2; + G9 g927 = new G9(ByteCodes.invokevirtual, b1.a(i211, b1.a(i211, b1.Y1), b1.c("append")), false); + G9 g928 = new G9(ByteCodes.invokevirtual, b1.a(b1.x2, b1.a(b1.Y1, new I2[0]), b1.c("toString")), false); + G9 g929 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, b1.Y1), b1.c("")), false); + C1134Ya c1134Ya3 = new C1134Ya(); + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.o2), InterfaceC1376br.b(b1.e("Ljava/lang/reflect/Field;")), InterfaceC1376br.b(b1.o2)})); + P9 p916 = new P9(hl0, 0); + P9 p917 = new P9(hl0, 1); + C3391x9 c3391x92 = new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p918 = new P9(hl0, 0); + P9 p919 = new P9(hl0, 1); + I2 i212 = b1.o2; + G9 g930 = new G9(ByteCodes.invokevirtual, b1.a(i212, b1.a(i212, new I2[0]), b1.c("getComponentType")), false); + C3391x9 c3391x93 = new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + P9 p920 = new P9(hl0, 0); + P9 p921 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p922 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g931 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.o2), b1.c("arrayBaseOffset")), false); + WS ws = WS.e; + WS ws2 = WS.f; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, g9, k92, p92, g92, c1027Ua, k93, p93, c1304b9, g93, k94, p94, p95, z8, g94, k8, c3391x9, k95, p96, g95, c2826r9, k96, w9, c0607Ga, w92, c0607Ga2, g96, c1409c9, g97, p97, g98, g99, g910, g911, c1134Ya, k97, c1982i9, p98, g912, c1027Ua2, k98, p99, g913, c2826r92, k99, w93, c0607Ga3, w94, c0607Ga4, g914, c1409c92, g915, p910, k910, g916, g917, g918, g919, c1134Ya2, k911, c1982i92, p911, g920, c2826r93, p912, c0934Ra, c3014t9, p913, c0934Ra2, c3014t92, k912, w95, c0607Ga5, w96, c0607Ga6, g921, c1409c93, g922, p914, k913, g923, g924, c1409c94, g925, p915, k914, g926, g927, g928, g929, c1134Ya3, k915, c1982i93, p916, p917, c3391x92, k916, p918, p919, g930, c3391x93, k917, p920, p921, c3293w9, p922, c3293w92, g931, new C1335ba(ws, ws2), new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))), k918, new P9(hl0, 0), new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.o2), b1.c("arrayIndexScale")), false), new C1335ba(ws, ws2), new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))), k919, new C3421xa(), k920); + S40 s40 = S40.e; + return new G(i2, 4, 4, abstractC0695IuA, s40, s40); + } + + public static G i(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + K9 k913 = new K9(); + K9 k914 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.a2, b1.a(b1.E1, new I2[0]), b1.c("")), false); + P9 p92 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/reflect/Field;"), new I2[0]), b1.c("getUnsafeField")), false); + C1027Ua c1027Ua = new C1027Ua(hl0, 4); + P9 p93 = new P9(hl0, 4); + Hl0 hl02 = Hl0.c; + C1304b9 c1304b9 = new C1304b9(1L, hl02); + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.a(b1.E1, b1.w1), b1.c("setAccessible")), false); + P9 p94 = new P9(hl0, 0); + P9 p95 = new P9(hl0, 4); + Z8 z8 = new Z8(); + I2 i2E = b1.e("Ljava/lang/reflect/Field;"); + I2 i22 = b1.a2; + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i22), b1.c("get")), false); + K8 k8 = new K8(b1.e("Lsun/misc/Unsafe;")); + C3391x9 c3391x9 = new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 0); + P9 p97 = new P9(hl0, 1); + C3391x9 c3391x92 = new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p98 = new P9(hl0, 1); + P9 p99 = new P9(hl0, 2); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.Y1), b1.c("getDeclaredField")), false); + C1027Ua c1027Ua2 = new C1027Ua(hl0, 5); + P9 p910 = new P9(hl0, 0); + P9 p911 = new P9(hl0, 5); + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.a(b1.o2, new I2[0]), b1.c("getType")), false); + C3391x9 c3391x93 = new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + P9 p912 = new P9(hl0, 3); + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isPrimitive")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k911); + P9 p913 = new P9(hl0, 3); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k911); + P9 p914 = new P9(hl0, 3); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k911); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga.a aVar = C0607Ga.a.e; + C0607Ga c0607Ga = new C0607Ga(aVar); + W9 w92 = new W9(b1.x2); + C0607Ga c0607Ga2 = new C0607Ga(aVar); + G9 g98 = new G9(ByteCodes.invokespecial, b1.a(b1.x2, b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1409c9 c1409c9 = new C1409c9(b1.c("Using a VarHandle for a field of type '")); + I2 i23 = b1.x2; + G9 g99 = new G9(ByteCodes.invokevirtual, b1.a(i23, b1.a(i23, b1.Y1), b1.c("append")), false); + P9 p915 = new P9(hl0, 3); + G9 g910 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.Y1, new I2[0]), b1.c("getName")), false); + I2 i24 = b1.x2; + G9 g911 = new G9(ByteCodes.invokevirtual, b1.a(i24, b1.a(i24, b1.Y1), b1.c("append")), false); + C1409c9 c1409c92 = new C1409c9(b1.c("' requires native VarHandle support available from Android 13. VarHandle desugaring only supports primitive types int and long and reference types.")); + I2 i25 = b1.x2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, g9, k92, p92, g92, c1027Ua, k93, p93, c1304b9, g93, k94, p94, p95, z8, g94, k8, c3391x9, k95, p96, p97, c3391x92, k96, p98, p99, g95, c1027Ua2, k97, p910, p911, g96, c3391x93, k98, p912, g97, c2826r9, p913, c0934Ra, c3014t9, p914, c0934Ra2, c3014t92, k99, w9, c0607Ga, w92, c0607Ga2, g98, c1409c9, g99, p915, k910, g910, g911, c1409c92, new G9(ByteCodes.invokevirtual, b1.a(i25, b1.a(i25, b1.Y1), b1.c("append")), false), new G9(ByteCodes.invokevirtual, b1.a(b1.x2, b1.a(b1.Y1, new I2[0]), b1.c("toString")), false), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, b1.Y1), b1.c("")), false), new C1134Ya(), k911, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.o2), InterfaceC1376br.b(b1.Y1), InterfaceC1376br.b(b1.o2), InterfaceC1376br.b(b1.e("Ljava/lang/reflect/Field;")), InterfaceC1376br.b(b1.e("Ljava/lang/reflect/Field;"))})), new P9(hl0, 0), new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 1), new P9(hl0, 2), new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.Y1), b1.c("getDeclaredField")), false), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.C1, b1.e("Ljava/lang/reflect/Field;")), b1.c("objectFieldOffset")), false), new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))), k912, new P9(hl0, 0), new C1304b9(0L, Hl0.e), new C3391x9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))), k913, new C3421xa(), k914); + S40 s40 = S40.e; + return new G(i2, 4, 6, abstractC0695IuA, s40, s40); + } + + public static G j(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false); + G9 g92 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p97 = new P9(hl0, 1); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLong")), false); + G9 g94 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p910 = new P9(hl0, 1); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, g9, g92, c3328wa, k93, c1982i9, p95, c3293w94, c0934Ra2, c3014t92, k94, p96, c3293w95, p97, p98, c3293w96, g93, g94, c3328wa2, k95, c1982i92, p99, c3293w97, p910, p911, c3293w98, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObject")), false), new C3328wa(hl0), k96); + S40 s40 = S40.e; + return new G(i2, 4, 2, abstractC0695IuA, s40, s40); + } + + public static G k(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 3); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 3); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false); + G9 g95 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1521dM, c1611eM})); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p912 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p913 = new P9(hl0, 1); + P9 p914 = new P9(hl03, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLong")), false); + C1335ba c1335ba2 = new C1335ba(ws2, ws); + G9 g97 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, c1521dM, c1611eM})); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p916 = new P9(hl0, 1); + P9 p917 = new P9(hl03, 3); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, c0934Ra, c3014t92, k95, p98, c3293w96, p99, p910, g94, g95, c3328wa, k96, c1982i93, p911, c3293w97, c0934Ra2, c3014t93, k97, p912, c3293w98, p913, p914, g96, c1335ba2, g97, c3328wa2, k98, c1982i94, p915, c3293w99, p916, p917, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObject")), false), new C3328wa(hl0), k99); + S40 s40 = S40.e; + return new G(i2, 6, 5, abstractC0695IuA, s40, s40); + } + + public static G l(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + K9 k913 = new K9(); + K9 k914 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.o2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 4); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p910 = new P9(hl0, 1); + P9 p911 = new P9(hl03, 4); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false); + P9 p912 = new P9(hl0, 3); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.B1, b1.o2), b1.c("boxIntIfPossible")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.o2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1521dM, c1611eM})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p914 = new P9(hl0, 0); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p916 = new P9(hl0, 1); + P9 p917 = new P9(hl03, 4); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLong")), false); + P9 p918 = new P9(hl0, 3); + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.C1, b1.o2), b1.c("boxLongIfPossible")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2), c1521dM, c1611eM})); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p920 = new P9(hl0, 1); + P9 p921 = new P9(hl03, 4); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, c0934Ra, c3014t92, k95, p98, p99, c3293w96, p910, p911, g94, p912, g95, c3328wa, k96, c1982i93, p913, c3293w97, c0934Ra2, c3014t93, k97, p914, p915, c3293w98, p916, p917, g96, p918, g97, c3328wa2, k98, c1982i94, p919, c3293w99, p920, p921, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObject")), false), new C1027Ua(hl0, 6), k99, new P9(hl0, 6), new C3485y9(b1.e("Ljava/lang/Integer;")), new C2826r9(enumC2621ou, hl02, k911), new P9(hl0, 3), new V8(b1.e("Ljava/lang/Integer;"), false), new C3014t9(enumC2621ou, hl0, k911), k910, new P9(hl0, 0), new P9(hl0, 6), new K8(b1.e("Ljava/lang/Integer;")), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.B1, new I2[0]), b1.c("intValue")), false), new P9(hl0, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.B1, b1.o2), b1.c("boxIntIfPossible")), false), new C3328wa(hl0), k911, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2), c1521dM, c1611eM, InterfaceC1376br.b(b1.a2)})), new P9(hl0, 6), new C3485y9(b1.e("Ljava/lang/Long;")), new C2826r9(enumC2621ou, hl02, k913), new P9(hl0, 3), new V8(b1.e("Ljava/lang/Long;"), false), new C3014t9(enumC2621ou, hl0, k913), k912, new P9(hl0, 0), new P9(hl0, 6), new K8(b1.e("Ljava/lang/Long;")), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.C1, new I2[0]), b1.c("longValue")), false), new P9(hl0, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.C1, b1.o2), b1.c("boxLongIfPossible")), false), new C3328wa(hl0), k913, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2), c1521dM, c1611eM, InterfaceC1376br.b(b1.a2)})), new P9(hl0, 6), new C3328wa(hl0), k914); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G m(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.K1), C1796gA.c})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, new C1027Ua(hl03, 3), k94, new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 1), new P9(hl03, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 6, 5, abstractC0695IuA, s40, s40); + } + + public static G n(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.L1), C1796gA.c})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p93 = new P9(Hl0.c, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl02 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl02, 3); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLong")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 6, 5, abstractC0695IuA, s40, s40); + } + + public static G o(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + P9 p93 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p94 = new P9(hl0, 1); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false); + P9 p96 = new P9(hl0, 2); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.B1, b1.o2), b1.c("boxIntIfPossible")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.o2)})); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p98 = new P9(hl0, 0); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p910 = new P9(hl0, 1); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLong")), false); + P9 p912 = new P9(hl0, 2); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.C1, b1.o2), b1.c("boxLongIfPossible")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.o2)})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p914 = new P9(hl0, 1); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, p93, c3293w92, p94, p95, c3293w93, g9, p96, g92, c3328wa, k93, c1982i9, p97, c3293w94, c0934Ra2, c3014t92, k94, p98, p99, c3293w95, p910, p911, c3293w96, g93, p912, g94, c3328wa2, k95, c1982i92, p913, c3293w97, p914, p915, c3293w98, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObject")), false), new C3328wa(hl0), k96); + S40 s40 = S40.e; + return new G(i2, 5, 3, abstractC0695IuA, s40, s40); + } + + public static G p(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false); + Hl0 hl02 = Hl0.c; + C3328wa c3328wa = new C3328wa(hl02); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p96 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, g9, c3328wa, k93, c1982i9, p95, c3293w94, c0934Ra2, c3014t92, k94, p96, g92, c1134Ya, k95, c1982i92, p97, p98, c3293w95, p99, p910, c3293w96, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i22, b1.C1), b1.c("getObject")), false), new C1304b9(1L, hl02), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false), new C3328wa(hl02), k96); + S40 s40 = S40.e; + return new G(i2, 5, 2, abstractC0695IuA, s40, s40); + } + + public static G q(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLong")), false); + Hl0 hl02 = Hl0.e; + C3328wa c3328wa = new C3328wa(hl02); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p97 = new P9(hl0, 1); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getInt")), false); + C1335ba c1335ba = new C1335ba(WS.e, WS.f); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p99 = new P9(hl0, 0); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p911 = new P9(hl0, 1); + P9 p912 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, g9, c3328wa, k93, c1982i9, p95, c3293w94, c0934Ra2, c3014t92, k94, p96, c3293w95, p97, p98, c3293w96, g92, c1335ba, c3328wa2, k95, c1982i92, p99, p910, c3293w97, p911, p912, c3293w98, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObject")), false), new C1304b9(1L, Hl0.c), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false), new C3328wa(hl02), k96); + S40 s40 = S40.e; + return new G(i2, 5, 2, abstractC0695IuA, s40, s40); + } + + public static G r(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + I2 i2 = c0409w2.f; + V8 v8 = new V8(b1.e("Lsun/misc/Unsafe;"), false); + C1409c9 c1409c9 = new C1409c9(b1.c("theUnsafe")); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.Y1), b1.c("getDeclaredField")), false); + Hl0 hl0 = Hl0.b; + C3328wa c3328wa = new C3328wa(hl0); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;"))}), new ArrayDeque(Arrays.asList(InterfaceC1376br.b(b1.e("Ljava/lang/NoSuchFieldException;"))))); + C1027Ua c1027Ua = new C1027Ua(hl0, 1); + V8 v82 = new V8(b1.e("Lsun/misc/Unsafe;"), false); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.e("[Ljava/lang/reflect/Field;"), new I2[0]), b1.c("getDeclaredFields")), false); + C1027Ua c1027Ua2 = new C1027Ua(hl0, 2); + P9 p9 = new P9(hl0, 2); + C3483y8 c3483y8 = new C3483y8(); + Hl0 hl02 = Hl0.c; + C1027Ua c1027Ua3 = new C1027Ua(hl02, 3); + C1304b9 c1304b9 = new C1304b9(0L, hl02); + C1027Ua c1027Ua4 = new C1027Ua(hl02, 4); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.e("Ljava/lang/NoSuchFieldException;")); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("[Ljava/lang/reflect/Field;")); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1479cwB3, c1796gA, c1796gA})); + P9 p92 = new P9(hl02, 4); + P9 p93 = new P9(hl02, 3); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.c, hl02, k910); + P9 p94 = new P9(hl0, 2); + P9 p95 = new P9(hl02, 4); + C3579z8 c3579z8 = new C3579z8(LN.b); + C1027Ua c1027Ua5 = new C1027Ua(hl0, 5); + P9 p96 = new P9(hl0, 5); + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.a(b1.B1, new I2[0]), b1.c("getModifiers")), false); + G9 g94 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/reflect/Modifier;"), b1.a(b1.w1, b1.B1), b1.c("isStatic")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k99); + V8 v83 = new V8(b1.e("Lsun/misc/Unsafe;"), false); + P9 p97 = new P9(hl0, 5); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/reflect/Field;"), b1.a(b1.o2, new I2[0]), b1.c("getType")), false); + I2 i22 = b1.o2; + return new G(i2, 4, 6, AbstractC0695Iu.a(k9, v8, c1409c9, g9, k92, c3328wa, k93, c1982i9, c1027Ua, k94, v82, g92, c1027Ua2, p9, c3483y8, c1027Ua3, c1304b9, c1027Ua4, k95, c1982i92, p92, p93, c3014t9, p94, p95, c3579z8, c1027Ua5, k96, p96, g93, g94, c2826r9, v83, p97, k97, g95, new G9(ByteCodes.invokevirtual, b1.a(i22, b1.a(b1.w1, i22), b1.c("isAssignableFrom")), false), new C2826r9(enumC2621ou, hl02, k99), k98, new P9(hl0, 5), new C3328wa(hl0), k99, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.e("Ljava/lang/NoSuchFieldException;")), InterfaceC1376br.b(b1.e("[Ljava/lang/reflect/Field;")), c1796gA, c1796gA})), new C3109u9(4, 1), new C2647p9(k95), k910, new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.e("Ljava/lang/NoSuchFieldException;"))})), new W9(b1.e("Ljava/lang/UnsupportedOperationException;")), new C0607Ga(C0607Ga.a.e), new C1409c9(b1.c("Couldn't find the Unsafe")), new P9(hl0, 1), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, b1.Y1, b1.o3), b1.c("")), false), new C1134Ya(), k911), new Ec0(new C1164Za(k9, k92, new Ec0(b1.e("Ljava/lang/NoSuchFieldException;")), new Ec0(k93))), S40.e); + } + + public static G s(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false); + G9 g92 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p97 = new P9(hl0, 1); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLongVolatile")), false); + G9 g94 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.e("Ljava/lang/Long;"), b1.C1), b1.c("valueOf")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p910 = new P9(hl0, 1); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, g9, g92, c3328wa, k93, c1982i9, p95, c3293w94, c0934Ra2, c3014t92, k94, p96, c3293w95, p97, p98, c3293w96, g93, g94, c3328wa2, k95, c1982i92, p99, c3293w97, p910, p911, c3293w98, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObjectVolatile")), false), new C3328wa(hl0), k96); + S40 s40 = S40.e; + return new G(i2, 4, 2, abstractC0695IuA, s40, s40); + } + + public static G t(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 3); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl03, 3); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false); + G9 g95 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1521dM, c1611eM})); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p912 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p913 = new P9(hl0, 1); + P9 p914 = new P9(hl03, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLongVolatile")), false); + C1335ba c1335ba2 = new C1335ba(ws2, ws); + G9 g97 = new G9(ByteCodes.invokestatic, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.e("Ljava/lang/Integer;"), b1.B1), b1.c("valueOf")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, c1521dM, c1611eM})); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p916 = new P9(hl0, 1); + P9 p917 = new P9(hl03, 3); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, c0934Ra, c3014t92, k95, p98, c3293w96, p99, p910, g94, g95, c3328wa, k96, c1982i93, p911, c3293w97, c0934Ra2, c3014t93, k97, p912, c3293w98, p913, p914, g96, c1335ba2, g97, c3328wa2, k98, c1982i94, p915, c3293w99, p916, p917, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObjectVolatile")), false), new C3328wa(hl0), k99); + S40 s40 = S40.e; + return new G(i2, 6, 5, abstractC0695IuA, s40, s40); + } + + public static G u(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + K9 k97 = new K9(); + K9 k98 = new K9(); + K9 k99 = new K9(); + K9 k910 = new K9(); + K9 k911 = new K9(); + K9 k912 = new K9(); + K9 k913 = new K9(); + K9 k914 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.o2, b1.a(b1.w1, new I2[0]), b1.c("isArray")), false); + EnumC2621ou enumC2621ou = EnumC2621ou.b; + Hl0 hl02 = Hl0.c; + C2826r9 c2826r9 = new C2826r9(enumC2621ou, hl02, k92); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + P9 p93 = new P9(hl0, 1); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.o2, new I2[0]), b1.c("getClass")), false); + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + C1479cw c1479cwB = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB2 = InterfaceC1376br.b(b1.a2); + C1796gA c1796gA = C1796gA.c; + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{c1479cwB, c1479cwB2, c1796gA, InterfaceC1376br.b(b1.o2)})); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g93 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2)})); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p95 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl03, 4); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou2 = EnumC2621ou.g; + C3014t9 c3014t92 = new C3014t9(enumC2621ou2, hl0, k96); + P9 p98 = new P9(hl0, 0); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p910 = new P9(hl0, 1); + P9 p911 = new P9(hl03, 4); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false); + P9 p912 = new P9(hl0, 3); + G9 g95 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.B1, b1.o2), b1.c("boxIntIfPossible")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1479cw c1479cwB3 = InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")); + C1479cw c1479cwB4 = InterfaceC1376br.b(b1.a2); + C1479cw c1479cwB5 = InterfaceC1376br.b(b1.o2); + C1521dM c1521dM = C1521dM.c; + C1611eM c1611eM = C1611eM.d; + C1982i9 c1982i93 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{c1479cwB3, c1479cwB4, c1796gA, c1479cwB5, c1521dM, c1611eM})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t93 = new C3014t9(enumC2621ou2, hl0, k98); + P9 p914 = new P9(hl0, 0); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p916 = new P9(hl0, 1); + P9 p917 = new P9(hl03, 4); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g96 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLongVolatile")), false); + P9 p918 = new P9(hl0, 3); + G9 g97 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.C1, b1.o2), b1.c("boxLongIfPossible")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i94 = new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2), c1521dM, c1611eM})); + P9 p919 = new P9(hl0, 0); + C3293w9 c3293w99 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p920 = new P9(hl0, 1); + P9 p921 = new P9(hl03, 4); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, g9, c2826r9, p92, c3293w92, p93, g92, c3014t9, k92, c1982i9, w9, c0607Ga, g93, c1134Ya, k93, c1982i92, p94, c3293w93, p95, c1335ba, p96, c3293w94, c3389x8, c3389x82, c1027Ua, k94, p97, c3293w95, c0934Ra, c3014t92, k95, p98, p99, c3293w96, p910, p911, g94, p912, g95, c3328wa, k96, c1982i93, p913, c3293w97, c0934Ra2, c3014t93, k97, p914, p915, c3293w98, p916, p917, g96, p918, g97, c3328wa2, k98, c1982i94, p919, c3293w99, p920, p921, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObjectVolatile")), false), new C1027Ua(hl0, 6), k99, new P9(hl0, 6), new C3485y9(b1.e("Ljava/lang/Integer;")), new C2826r9(enumC2621ou, hl02, k911), new P9(hl0, 3), new V8(b1.e("Ljava/lang/Integer;"), false), new C3014t9(enumC2621ou, hl0, k911), k910, new P9(hl0, 0), new P9(hl0, 6), new K8(b1.e("Ljava/lang/Integer;")), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Integer;"), b1.a(b1.B1, new I2[0]), b1.c("intValue")), false), new P9(hl0, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.B1, b1.o2), b1.c("boxIntIfPossible")), false), new C3328wa(hl0), k911, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2), c1521dM, c1611eM, InterfaceC1376br.b(b1.a2)})), new P9(hl0, 6), new C3485y9(b1.e("Ljava/lang/Long;")), new C2826r9(enumC2621ou, hl02, k913), new P9(hl0, 3), new V8(b1.e("Ljava/lang/Long;"), false), new C3014t9(enumC2621ou, hl0, k913), k912, new P9(hl0, 0), new P9(hl0, 6), new K8(b1.e("Ljava/lang/Long;")), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/Long;"), b1.a(b1.C1, new I2[0]), b1.c("longValue")), false), new P9(hl0, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.C1, b1.o2), b1.c("boxLongIfPossible")), false), new C3328wa(hl0), k913, new C1982i9(new C0987Sx(new int[]{0, 1, 2, 3, 4, 5, 6}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), c1796gA, InterfaceC1376br.b(b1.o2), c1521dM, c1611eM, InterfaceC1376br.b(b1.a2)})), new P9(hl0, 6), new C3328wa(hl0), k914); + S40 s40 = S40.e; + return new G(i2, 6, 7, abstractC0695IuA, s40, s40); + } + + public static G v(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.K1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.K1), C1796gA.c})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + Hl0 hl02 = Hl0.c; + P9 p93 = new P9(hl02, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl03 = Hl0.e; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, new C1027Ua(hl03, 3), k94, new P9(hl0, 0), new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))), new P9(hl0, 1), new P9(hl03, 3), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 6, 5, abstractC0695IuA, s40, s40); + } + + public static G w(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c("recv"))); + V8 v8 = new V8(b1.L1, false); + C3014t9 c3014t9 = new C3014t9(EnumC2621ou.b, hl0, k93); + W9 w9 = new W9(b1.e("Ljava/lang/UnsupportedOperationException;")); + C0607Ga c0607Ga = new C0607Ga(C0607Ga.a.e); + G9 g9 = new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/UnsupportedOperationException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.L1), C1796gA.c})); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + P9 p93 = new P9(Hl0.c, 2); + WS ws = WS.e; + WS ws2 = WS.f; + C1335ba c1335ba = new C1335ba(ws, ws2); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("arrayIndexScale"))); + C3389x8 c3389x8 = new C3389x8(C3389x8.a.d, ws2); + C3389x8 c3389x82 = new C3389x8(C3389x8.a.b, ws2); + Hl0 hl02 = Hl0.e; + C1027Ua c1027Ua = new C1027Ua(hl02, 3); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p96 = new P9(hl0, 1); + P9 p97 = new P9(hl02, 3); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, v8, c3014t9, k92, w9, c0607Ga, g9, c1134Ya, k93, c1982i9, p92, c3293w92, p93, c1335ba, p94, c3293w93, c3389x8, c3389x82, c1027Ua, k94, p95, c3293w94, p96, p97, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLongVolatile")), false), new C3328wa(hl02), k95); + S40 s40 = S40.e; + return new G(i2, 6, 5, abstractC0695IuA, s40, s40); + } + + public static G x(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + P9 p93 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p94 = new P9(hl0, 1); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false); + P9 p96 = new P9(hl0, 2); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.B1, b1.o2), b1.c("boxIntIfPossible")), false); + C3328wa c3328wa = new C3328wa(hl0); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.o2)})); + P9 p97 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p98 = new P9(hl0, 0); + P9 p99 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p910 = new P9(hl0, 1); + P9 p911 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g93 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLongVolatile")), false); + P9 p912 = new P9(hl0, 2); + G9 g94 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.a2, b1.C1, b1.o2), b1.c("boxLongIfPossible")), false); + C3328wa c3328wa2 = new C3328wa(hl0); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1, 2}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2), InterfaceC1376br.b(b1.o2)})); + P9 p913 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p914 = new P9(hl0, 1); + P9 p915 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, p93, c3293w92, p94, p95, c3293w93, g9, p96, g92, c3328wa, k93, c1982i9, p97, c3293w94, c0934Ra2, c3014t92, k94, p98, p99, c3293w95, p910, p911, c3293w96, g93, p912, g94, c3328wa2, k95, c1982i92, p913, c3293w97, p914, p915, c3293w98, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObjectVolatile")), false), new C3328wa(hl0), k96); + S40 s40 = S40.e; + return new G(i2, 5, 3, abstractC0695IuA, s40, s40); + } + + public static G y(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false); + Hl0 hl02 = Hl0.c; + C3328wa c3328wa = new C3328wa(hl02); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p96 = new P9(hl0, 0); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.e("Ljava/lang/RuntimeException;"), new I2[0]), b1.c("desugarWrongMethodTypeException")), false); + C1134Ya c1134Ya = new C1134Ya(); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p97 = new P9(hl0, 0); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p99 = new P9(hl0, 1); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, g9, c3328wa, k93, c1982i9, p95, c3293w94, c0934Ra2, c3014t92, k94, p96, g92, c1134Ya, k95, c1982i92, p97, p98, c3293w95, p99, p910, c3293w96, new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, i22, b1.C1), b1.c("getObjectVolatile")), false), new C1304b9(1L, hl02), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.B1, b1.a2, b1.w1), b1.c("toIntIfPossible")), false), new C3328wa(hl02), k96); + S40 s40 = S40.e; + return new G(i2, 5, 2, abstractC0695IuA, s40, s40); + } + + public static G z(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + K9 k95 = new K9(); + K9 k96 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + P9 p9 = new P9(hl0, 0); + C3293w9 c3293w9 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra = new C0934Ra(b1.a(b1.e("Ljava/lang/Long;"), b1.o2, b1.c("TYPE"))); + EnumC2621ou enumC2621ou = EnumC2621ou.g; + C3014t9 c3014t9 = new C3014t9(enumC2621ou, hl0, k93); + P9 p92 = new P9(hl0, 0); + C3293w9 c3293w92 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p93 = new P9(hl0, 1); + P9 p94 = new P9(hl0, 0); + C3293w9 c3293w93 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E = b1.e("Lsun/misc/Unsafe;"); + I2 i22 = b1.C1; + G9 g9 = new G9(ByteCodes.invokevirtual, b1.a(i2E, b1.a(i22, b1.a2, i22), b1.c("getLongVolatile")), false); + Hl0 hl02 = Hl0.e; + C3328wa c3328wa = new C3328wa(hl02); + C1982i9 c1982i9 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p95 = new P9(hl0, 0); + C3293w9 c3293w94 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.o2, b1.c(RobotConfigResFilter.robotConfigRootTypeAttribute))); + C0934Ra c0934Ra2 = new C0934Ra(b1.a(b1.e("Ljava/lang/Integer;"), b1.o2, b1.c("TYPE"))); + C3014t9 c3014t92 = new C3014t9(enumC2621ou, hl0, k95); + P9 p96 = new P9(hl0, 0); + C3293w9 c3293w95 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p97 = new P9(hl0, 1); + P9 p98 = new P9(hl0, 0); + C3293w9 c3293w96 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + G9 g92 = new G9(ByteCodes.invokevirtual, b1.a(b1.e("Lsun/misc/Unsafe;"), b1.a(b1.B1, b1.a2, b1.C1), b1.c("getIntVolatile")), false); + C1335ba c1335ba = new C1335ba(WS.e, WS.f); + C3328wa c3328wa2 = new C3328wa(hl02); + C1982i9 c1982i92 = new C1982i9(new C0987Sx(new int[]{0, 1}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.e("Ljava/lang/invoke/VarHandle;")), InterfaceC1376br.b(b1.a2)})); + P9 p99 = new P9(hl0, 0); + P9 p910 = new P9(hl0, 0); + C3293w9 c3293w97 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.e("Lsun/misc/Unsafe;"), b1.c("U"))); + P9 p911 = new P9(hl0, 1); + P9 p912 = new P9(hl0, 0); + C3293w9 c3293w98 = new C3293w9(b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.C1, b1.c("offset"))); + I2 i2E2 = b1.e("Lsun/misc/Unsafe;"); + I2 i23 = b1.a2; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, p9, c3293w9, c0934Ra, c3014t9, k92, p92, c3293w92, p93, p94, c3293w93, g9, c3328wa, k93, c1982i9, p95, c3293w94, c0934Ra2, c3014t92, k94, p96, c3293w95, p97, p98, c3293w96, g92, c1335ba, c3328wa2, k95, c1982i92, p99, p910, c3293w97, p911, p912, c3293w98, new G9(ByteCodes.invokevirtual, b1.a(i2E2, b1.a(i23, i23, b1.C1), b1.c("getObjectVolatile")), false), new C1304b9(1L, Hl0.c), new G9(ByteCodes.invokevirtual, b1.a(b1.e("Ljava/lang/invoke/VarHandle;"), b1.a(b1.C1, b1.a2, b1.w1), b1.c("toLongIfPossible")), false), new C3328wa(hl02), k96); + S40 s40 = S40.e; + return new G(i2, 5, 2, abstractC0695IuA, s40, s40); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A.java new file mode 100644 index 000000000000..e2781ee07887 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A.java @@ -0,0 +1,20 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.internal.AbstractC3424xb0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.JO; +import com.android.tools.r8.internal.ZR; +import java.util.Set; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface A { + public static final A a = new A() { // from class: com.android.tools.r8.ir.optimize.A$$ExternalSyntheticLambda0 + @Override // com.android.tools.r8.ir.optimize.A + public final Set a(C0874Ot c0874Ot, JO jo, com.android.tools.r8.graph.proto.j jVar, ZR zr) { + return AbstractC3424xb0.c(); + } + }; + + Set a(C0874Ot c0874Ot, JO jo, com.android.tools.r8.graph.proto.j jVar, ZR zr); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A0.java new file mode 100644 index 000000000000..92bcb3460626 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/A0.java @@ -0,0 +1,13 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract /* synthetic */ class A0 { + public static final boolean a(int i) { + return i == 4; + } + + public static final boolean b(int i) { + return i == 1; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B.java new file mode 100644 index 000000000000..742dd1fff281 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B.java @@ -0,0 +1,6 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class B extends E { +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B0.java new file mode 100644 index 000000000000..371c68c5595d --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/B0.java @@ -0,0 +1,16 @@ +package com.android.tools.r8.ir.optimize; + +import java.util.List; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class B0 { + public static final /* synthetic */ boolean c = true; + public final int a; + public final List b; + + public B0(int i, List list) { + this.a = i; + this.b = list; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C.java new file mode 100644 index 000000000000..9330e5a35dac --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C.java @@ -0,0 +1,6 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C extends E { +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C0.java new file mode 100644 index 000000000000..6c9c7aea1e96 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/C0.java @@ -0,0 +1,24 @@ +package com.android.tools.r8.ir.optimize; + +import java.util.List; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C0 { + public static final /* synthetic */ boolean d = true; + public final int a; + public final List b; + public final List c; + + public C0(int i, List list, List list2) { + this.a = i; + this.b = list; + this.c = list2; + if (d || !A0.b(i)) { + return; + } + if (list.isEmpty() || list2.isEmpty()) { + throw new AssertionError(); + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D.java new file mode 100644 index 000000000000..65e37df8f6bf --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D.java @@ -0,0 +1,19 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3201vC; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class D extends E { + public final /* synthetic */ C3161ul0 c; + + public D(C3161ul0 c3161ul0) { + this.c = c3161ul0; + } + + @Override // com.android.tools.r8.ir.optimize.E + public final Iterable a() { + return C3201vC.b(this.c); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D0.java new file mode 100644 index 000000000000..f136eec60d5e --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/D0.java @@ -0,0 +1,19 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.S40; +import java.util.ArrayList; +import java.util.List; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class D0 { + public final ArrayList a = new ArrayList(); + public List b; + public int c; + + public D0() { + int i = AbstractC0695Iu.c; + this.b = S40.e; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E.java new file mode 100644 index 000000000000..10af3d698484 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E.java @@ -0,0 +1,14 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.internal.Nk0; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class E { + public static final B a = new B(); + public static final C b = new C(); + + public Iterable a() { + throw new Nk0(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E0.java new file mode 100644 index 000000000000..58facdd36c75 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/E0.java @@ -0,0 +1,74 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC2125ji0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1411cA; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.S40; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class E0 { + public static final C0 a; + public static final /* synthetic */ boolean b = true; + + static { + int i = AbstractC0695Iu.c; + S40 s40 = S40.e; + a = new C0(3, s40, s40); + } + + public static C0 a(C0874Ot c0874Ot, y0 y0Var) { + D0 d0 = new D0(); + AbstractC2125ji0 abstractC2125ji0A = new x0(new C1411cA(), y0Var, d0).a(c0874Ot.j()); + if (abstractC2125ji0A.c()) { + d0.c = 3; + } else { + B0 b0 = (B0) abstractC2125ji0A.b().e(); + d0.c = b0.a; + d0.b = b0.b; + } + return A0.a(d0.c) ? a : new C0(d0.c, d0.a, d0.b); + } + + public static C0 a(final C0421y c0421y, C0874Ot c0874Ot) { + if (!b && !c0874Ot.i().e().C1()) { + throw new AssertionError(); + } + final C3161ul0 c3161ul0O = c0874Ot.o(); + if (!c3161ul0O.O()) { + return a; + } + final A5 a5I = c0874Ot.i(); + return a(c0874Ot, new y0() { // from class: com.android.tools.r8.ir.optimize.E0$$ExternalSyntheticLambda0 + @Override // com.android.tools.r8.ir.optimize.y0 + public final int a(AbstractC1076Vw abstractC1076Vw) { + return E0.a(c3161ul0O, c0421y, a5I, abstractC1076Vw); + } + }); + } + + public static int a(C3161ul0 c3161ul0, C0421y c0421y, A5 a5, AbstractC1076Vw abstractC1076Vw) { + return ((abstractC1076Vw.X1() && abstractC1076Vw.d0().V2() == c3161ul0) || (abstractC1076Vw.O1() && abstractC1076Vw.V().h() == c3161ul0) || (abstractC1076Vw.h2() && ((C3161ul0) abstractC1076Vw.m0().c.get(0)) == c3161ul0)) ? !abstractC1076Vw.b().x() ? 2 : 3 : abstractC1076Vw.b(c0421y, a5) ? 3 : 1; + } + + public static C0 a(final C0421y c0421y, final A5 a5, final C0874Ot c0874Ot) { + if (b || c0874Ot.i().e().z0()) { + return a(c0874Ot, new y0() { // from class: com.android.tools.r8.ir.optimize.E0$$ExternalSyntheticLambda1 + @Override // com.android.tools.r8.ir.optimize.y0 + public final int a(AbstractC1076Vw abstractC1076Vw) { + return E0.a(c0874Ot, a5, c0421y, abstractC1076Vw); + } + }); + } + throw new AssertionError(); + } + + public static int a(C0874Ot c0874Ot, A5 a5, C0421y c0421y, AbstractC1076Vw abstractC1076Vw) { + return abstractC1076Vw.a(c0874Ot.i().s(), a5, c0421y, 1, 1) ? !abstractC1076Vw.b().x() ? 2 : 3 : (abstractC1076Vw.X1() || abstractC1076Vw.b(c0421y, a5)) ? 3 : 1; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F.java new file mode 100644 index 000000000000..8c2615836af1 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F.java @@ -0,0 +1,146 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C0996Tg; +import com.android.tools.r8.internal.C2554o7; +import com.android.tools.r8.internal.C3010t7; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3409xP; +import com.android.tools.r8.internal.Cl0; +import com.android.tools.r8.internal.Fh0; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.SW; +import java.util.ArrayDeque; +import java.util.Iterator; +import java.util.Queue; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class F { + public static final /* synthetic */ boolean b = true; + public final C0421y a; + + public F(C0421y c0421y) { + this.a = c0421y; + } + + public final void a(C0874Ot c0874Ot, Fh0 fh0) { + fh0.a("Remove dead code"); + new C3409xP(this.a).a(c0874Ot, fh0); + C3010t7 c3010t7 = new C3010t7(this.a); + ArrayDeque arrayDeque = new ArrayDeque(); + while (true) { + C3658a c3658a = new C3658a(); + Cl0 cl0 = new Cl0(this.a, c0874Ot); + arrayDeque.addAll(c0874Ot.D()); + while (!arrayDeque.isEmpty()) { + H5 h5 = (H5) arrayDeque.removeLast(); + a(arrayDeque, c0874Ot, h5, c3658a, cl0); + Iterator it = h5.q().iterator(); + while (it.hasNext()) { + SW next = it.next(); + if (cl0.a(next)) { + it.remove(); + for (C3161ul0 c3161ul0 : next.c0()) { + c3161ul0.f.remove(next); + c3161ul0.g = null; + a(arrayDeque, c3161ul0); + } + } else if (next.d0()) { + it.remove(); + next.g0(); + } + } + } + c3658a.a(this.a, c0874Ot, C0996Tg.b()); + C2554o7 c2554o7C = c3010t7.c(c0874Ot); + c2554o7C.getClass(); + if (!c2554o7C.e && !a(c0874Ot)) { + break; + } + } + c0874Ot.y(); + boolean z = b; + if (!z && !c0874Ot.b(this.a)) { + throw new AssertionError(); + } + if (!z) { + b(c0874Ot); + } + fh0.b(); + } + + public final void b(C0874Ot c0874Ot) { + boolean z = b; + if (!z && !new C3409xP(this.a).a(c0874Ot, Fh0.a()).a().a()) { + throw new AssertionError(); + } + if (!z && a(c0874Ot)) { + throw new AssertionError(); + } + Cl0 cl0 = new Cl0(this.a, c0874Ot); + for (H5 h5 : c0874Ot.d) { + if (!b && cl0.a(h5)) { + throw new AssertionError(); + } + for (AbstractC1076Vw abstractC1076Vw : h5.k()) { + boolean z2 = b; + if (!z2 && abstractC1076Vw.S1() && abstractC1076Vw.d1() && !abstractC1076Vw.d().v()) { + throw new AssertionError(); + } + if (!z2) { + E eA = abstractC1076Vw.a(this.a, c0874Ot); + eA.getClass(); + if ((eA instanceof B) && (!abstractC1076Vw.d1() || cl0.a(abstractC1076Vw.d()))) { + throw new AssertionError(); + } + } + } + } + } + + public static void a(Queue queue, C3161ul0 c3161ul0) { + H5 h5B; + if (c3161ul0.l()) { + h5B = c3161ul0.p().r; + } else if (!c3161ul0.c.a1()) { + h5B = null; + } else { + h5B = c3161ul0.c.b(); + } + if (h5B != null) { + ((ArrayDeque) queue).add(h5B); + } + } + + /* JADX WARN: Removed duplicated region for block: B:30:0x0082 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final void a(java.util.Queue r6, com.android.tools.r8.internal.C0874Ot r7, com.android.tools.r8.internal.H5 r8, com.android.tools.r8.ir.optimize.C3658a r9, com.android.tools.r8.internal.Cl0 r10) { + /* + Method dump skipped, instruction units count: 470 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.F.a(java.util.Queue, com.android.tools.r8.internal.Ot, com.android.tools.r8.internal.H5, com.android.tools.r8.ir.optimize.a, com.android.tools.r8.internal.Cl0):void"); + } + + /* JADX WARN: Code restructure failed: missing block: B:44:0x00d8, code lost: + + r7 = r7 + 1; + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final boolean a(com.android.tools.r8.internal.C0874Ot r14) { + /* + Method dump skipped, instruction units count: 429 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.F.a(com.android.tools.r8.internal.Ot):boolean"); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F0.java new file mode 100644 index 000000000000..988b4ce32919 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/F0.java @@ -0,0 +1,172 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.graph.H2; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC2575oO; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1284az; +import com.android.tools.r8.internal.C2929sC; +import com.android.tools.r8.internal.C3147ue0; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.shaking.C3877i; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.List; +import java.util.function.Consumer; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class F0 { + public final C0421y a; + public final H2 b; + public final H2 c; + public final I2 d; + public final IdentityHashMap e = new IdentityHashMap(); + + public F0(C0421y c0421y) { + this.a = c0421y; + B1 b1A = c0421y.a(); + this.b = b1A.c("$SwitchMap$"); + this.c = b1A.c("$EnumSwitchMapping$"); + this.d = b1A.K1; + } + + public final C3877i a() { + Iterator it = ((C3877i) this.a.g()).d().iterator(); + while (it.hasNext()) { + a(it.next()); + } + if (this.e.isEmpty()) { + return (C3877i) this.a.g(); + } + C3877i c3877i = (C3877i) this.a.g(); + IdentityHashMap identityHashMap = this.e; + boolean z = C3877i.J; + if (!z) { + c3877i.c(); + } + if (z) { + c3877i.getClass(); + } else if (!c3877i.G.isEmpty()) { + throw new AssertionError(); + } + return new C3877i(c3877i, identityHashMap); + } + + public final void a(D2 d2) { + if (d2.f.p() && d2.f1()) { + List list = (List) d2.D1().stream().filter(new Predicate() { // from class: com.android.tools.r8.ir.optimize.F0$$ExternalSyntheticLambda0 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return this.f$0.a((C0257g1) obj); + } + }).collect(Collectors.toList()); + if (list.isEmpty()) { + return; + } + final C0874Ot c0874OtA = d2.i(d2.O0()).a(this.a, AbstractC2575oO.e()); + list.forEach(new Consumer() { // from class: com.android.tools.r8.ir.optimize.F0$$ExternalSyntheticLambda1 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.b(c0874OtA, (C0257g1) obj); + } + }); + } + } + + /* JADX INFO: renamed from: a, reason: merged with bridge method [inline-methods] */ + public final void b(C0874Ot c0874Ot, C0257g1 c0257g1) { + AbstractC1076Vw abstractC1076Vw; + final C0309l1 reference = c0257g1.getReference(); + C1284az c1284az = new C1284az(); + for (AbstractC1076Vw abstractC1076Vw2 : c0874Ot.b(new Predicate() { // from class: com.android.tools.r8.ir.optimize.F0$$ExternalSyntheticLambda2 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return F0.a(reference, (AbstractC1076Vw) obj); + } + })) { + abstractC1076Vw2.getClass(); + for (AbstractC1076Vw abstractC1076Vw3 : (abstractC1076Vw2 instanceof C3147ue0 ? abstractC1076Vw2.d() : abstractC1076Vw2.J0().value()).b0()) { + if (abstractC1076Vw3.q1()) { + AbstractC1076Vw abstractC1076Vw4 = abstractC1076Vw3.y().value().c; + if (abstractC1076Vw4 == null || !abstractC1076Vw4.A1()) { + return; + } + int iN2 = abstractC1076Vw4.H().N2(); + AbstractC1076Vw abstractC1076Vw5 = ((C3161ul0) abstractC1076Vw3.y().c.get(1)).c; + if (abstractC1076Vw5 == null || !abstractC1076Vw5.c2()) { + return; + } + C2929sC c2929sCI0 = abstractC1076Vw5.i0(); + com.android.tools.r8.graph.E0 e0D = this.a.d(c2929sCI0.U2().f); + if (e0D == null) { + return; + } + if ((!e0D.f.K() && e0D.e != this.a.a().f2) || (abstractC1076Vw = ((C3161ul0) c2929sCI0.c.get(0)).c) == null || !(abstractC1076Vw instanceof C3147ue0)) { + return; + } + C0309l1 field = abstractC1076Vw.I0().getField(); + com.android.tools.r8.graph.E0 e0D2 = this.a.d(field.f); + if (e0D2 == null || !e0D2.f.K() || c1284az.a(iN2, field) != null) { + return; + } + } else if (abstractC1076Vw3 != abstractC1076Vw2) { + return; + } + } + } + this.e.put(reference, c1284az); + } + + public static boolean a(C0309l1 c0309l1, AbstractC1076Vw abstractC1076Vw) { + abstractC1076Vw.getClass(); + return ((abstractC1076Vw instanceof C3147ue0) || abstractC1076Vw.e()) && abstractC1076Vw.Q().getField() == c0309l1; + } + + /* JADX WARN: Removed duplicated region for block: B:8:0x002c */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final boolean a(com.android.tools.r8.graph.C0257g1 r3) { + /* + r2 = this; + com.android.tools.r8.graph.r2 r0 = r3.getReference() + com.android.tools.r8.graph.l1 r0 = (com.android.tools.r8.graph.C0309l1) r0 + com.android.tools.r8.graph.e3 r3 = r3.g + boolean r3 = r3.p() + if (r3 == 0) goto L34 + com.android.tools.r8.graph.H2 r3 = r0.g + com.android.tools.r8.graph.H2 r1 = r2.b + r3.getClass() + byte[] r1 = r1.f + boolean r3 = r3.b(r1) + if (r3 != 0) goto L2c + com.android.tools.r8.graph.H2 r3 = r0.g + com.android.tools.r8.graph.H2 r1 = r2.c + r3.getClass() + byte[] r1 = r1.f + boolean r3 = r3.b(r1) + if (r3 == 0) goto L34 + L2c: + com.android.tools.r8.graph.I2 r3 = r0.i + com.android.tools.r8.graph.I2 r0 = r2.d + if (r3 != r0) goto L34 + r3 = 1 + goto L35 + L34: + r3 = 0 + L35: + return r3 + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.F0.a(com.android.tools.r8.graph.g1):boolean"); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G.java new file mode 100644 index 000000000000..8a3431289e8e --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G.java @@ -0,0 +1,29 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.AbstractC0324n0; +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.E2; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class G extends AbstractC0324n0 { + public G(C0421y c0421y, A5 a5) { + super(c0421y, a5); + } + + @Override // com.android.tools.r8.graph.AbstractC0324n0, com.android.tools.r8.graph.Y5 + public final void h(C0409w2 c0409w2) { + B1 b1A = this.a.a(); + b1A.getClass(); + if (c0409w2.w0().I0()) { + E2 e2C0 = c0409w2.C0(); + if (b1A.f0.b(c0409w2.x0()) && e2C0.q0().isEmpty() && b1A.a2.a(e2C0.r0())) { + this.e = Boolean.TRUE; + a(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G0.java new file mode 100644 index 000000000000..c591fd8e289d --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/G0.java @@ -0,0 +1,10 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.C0611Ge; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface G0 { + H0 a(C0421y c0421y, J0 j0, C0611Ge c0611Ge); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H.java new file mode 100644 index 000000000000..1743b6da8c1a --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H.java @@ -0,0 +1,358 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.AbstractC0275i0; +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.C1; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC1869gw; +import com.android.tools.r8.internal.AbstractC3424xb0; +import com.android.tools.r8.internal.AbstractC3644zm0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1075Vv; +import com.android.tools.r8.internal.C1397c3; +import com.android.tools.r8.internal.C1631ec; +import com.android.tools.r8.internal.C1870gw$$ExternalSyntheticLambda0; +import com.android.tools.r8.internal.C2052iw; +import com.android.tools.r8.internal.C2384mC; +import com.android.tools.r8.internal.C2843rP; +import com.android.tools.r8.internal.C2867rd; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3200vB; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.InterfaceC2144jw; +import com.android.tools.r8.internal.JO; +import com.android.tools.r8.internal.K5$$ExternalSyntheticLambda2; +import com.android.tools.r8.internal.Nk0; +import com.android.tools.r8.internal.Y6; +import com.android.tools.r8.shaking.C3877i; +import com.android.tools.r8.shaking.R1; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Iterator; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.function.Function; +import java.util.function.Predicate; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class H implements Y { + public static final /* synthetic */ boolean i = true; + public final C0421y a; + public final C3200vB b; + public final C3200vB.i c; + public final R1 d; + public final A5 e; + public final JO f; + public final InterfaceC2144jw g; + public int h; + + public H(C0421y c0421y, InterfaceC2144jw interfaceC2144jw, A5 a5, JO jo, int i2) { + this.a = c0421y; + C3200vB c3200vBM = c0421y.M(); + this.b = c3200vBM; + this.c = c3200vBM.T(); + this.g = interfaceC2144jw; + this.d = ((C3877i) c0421y.g()).f(); + this.e = a5; + this.f = jo; + this.h = i2; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final C0421y b() { + return this.a; + } + + public final boolean c(AbstractC1308bC abstractC1308bC, A5 a5, Optional optional) { + int iA; + if (!this.f.a(a5)) { + AbstractC0275i0 abstractC0275i0V0 = a5.e().V0(); + int i2 = this.c.c; + if (i2 < 0) { + i2 = 5; + } + int i3 = 0; + if (this.b.T().d) { + iA = ((this.b.Z() && abstractC1308bC.d1() && abstractC1308bC.d().z()) ? 1 : 0) + a(abstractC1308bC, a5, optional) + b(a5, abstractC1308bC); + } else { + iA = 0; + } + int iK = abstractC0275i0V0.k(iA + i2); + if (iK >= 0) { + if (iK <= i2) { + return true; + } + if (this.b.T().d) { + int iB = b(abstractC1308bC, a5, optional) + b(a5, abstractC1308bC); + if (this.b.Z() && abstractC1308bC.d1() && abstractC1308bC.d().z()) { + i3 = 1; + } + i3 += iB; + } + if (iK <= i2 + i3) { + return true; + } + } + } + C0291j1 c0291j1E = a5.e(); + c0291j1E.P0(); + return c0291j1E.m.u().a(abstractC1308bC); + } + + public static boolean a(AbstractC1308bC abstractC1308bC, A5 a5, AbstractC3644zm0 abstractC3644zm0) { + if (a5.e().n1()) { + throw new Nk0("Unexpected attempt to invoke a class initializer (`" + a5.v() + "`)"); + } + if (!a5.e().j1()) { + abstractC3644zm0.g(); + return true; + } + int size = ((ArrayList) abstractC1308bC.K2()).size() - Y6.a(abstractC1308bC.X1()); + int iA0 = a5.getReference().A0(); + if (size == iA0) { + return false; + } + abstractC3644zm0.a(size, iA0); + return true; + } + + public static int b(A5 a5, AbstractC1308bC abstractC1308bC) { + BitSet bitSetS = a5.D().s(); + int i2 = 0; + if (bitSetS == null) { + return 0; + } + for (int iA = Y6.a(abstractC1308bC.X1()); iA < abstractC1308bC.c.size(); iA++) { + C3161ul0 c3161ul0B = abstractC1308bC.b(iA); + if (bitSetS.get(iA) && c3161ul0B.t().I() && c3161ul0B.M()) { + i2 += 4; + } + } + return i2; + } + + public final int b(AbstractC1308bC abstractC1308bC, A5 a5, Optional optional) { + final C1 c1; + int i2 = 0; + if (!H$$ExternalSyntheticBackport0.m(optional) && !abstractC1308bC.c.isEmpty() && a5.e().V0().D0()) { + final C0874Ot c0874OtA = ((C2052iw) optional.get()).a(a5, abstractC1308bC); + Objects.requireNonNull(c0874OtA); + Iterable iterable = new Iterable() { // from class: com.android.tools.r8.ir.optimize.H$$ExternalSyntheticLambda3 + @Override // java.lang.Iterable + public final Iterator iterator() { + return c0874OtA.b(); + } + }; + B1 b1A = this.a.a(); + for (C1397c3 c1397c3 : iterable) { + C3161ul0 c3161ul0D = c1397c3.d(); + for (AbstractC1076Vw abstractC1076Vw : c3161ul0D.b0()) { + if (abstractC1076Vw.v1()) { + if (abstractC1308bC.b(c1397c3.b(true)).t().a(abstractC1076Vw.B().i.b(this.a), this.a)) { + i2 += 2; + } + } else { + I2 i2A = a5.a(c1397c3.b(true)); + b1A.getClass(); + if (i2A.T0()) { + c1 = new C1(b1A.c(i2A), b1A.g(i2A)); + } else { + c1 = b1A.S5.containsValue(i2A) ? new C1(b1A.g(i2A), b1A.c(i2A)) : null; + } + if (c1 != null) { + C3161ul0 c3161ul0I = abstractC1308bC.b(c1397c3.b(true)).i(); + if (abstractC1076Vw.a(c1.a) && c3161ul0I.c(new Predicate() { // from class: com.android.tools.r8.ir.optimize.H$$ExternalSyntheticLambda4 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return H.b(c1, (AbstractC1076Vw) obj); + } + })) { + i2 = (c3161ul0I.U() == 1 && c3161ul0D.U() == 1) ? i2 + 8 : i2 + 4; + } + } + } + } + } + } + return i2; + } + + /* JADX WARN: Removed duplicated region for block: B:67:0x0145 */ + /* JADX WARN: Removed duplicated region for block: B:74:0x016d */ + @Override // com.android.tools.r8.ir.optimize.Y + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final boolean a(com.android.tools.r8.internal.C0874Ot r7, com.android.tools.r8.graph.S4.c r8, com.android.tools.r8.graph.A5 r9, com.android.tools.r8.internal.AbstractC3644zm0 r10) { + /* + Method dump skipped, instruction units count: 430 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.H.a(com.android.tools.r8.internal.Ot, com.android.tools.r8.graph.S4$c, com.android.tools.r8.graph.A5, com.android.tools.r8.internal.zm0):boolean"); + } + + public static boolean b(C1 c1, AbstractC1076Vw abstractC1076Vw) { + return abstractC1076Vw.a(c1.b); + } + + public final boolean a(C0874Ot c0874Ot, AbstractC1308bC abstractC1308bC, C0874Ot c0874Ot2, AbstractC3644zm0 abstractC3644zm0) { + if (!c0874Ot.i.b(42) || !c0874Ot2.i.b(42)) { + return false; + } + Set setC = AbstractC3424xb0.c(); + Set setC2 = AbstractC3424xb0.c(); + AbstractC1869gw.a(c0874Ot, setC, setC2); + if (setC.isEmpty() && setC2.isEmpty()) { + return false; + } + Iterator it = c0874Ot2.b((Predicate) new C1870gw$$ExternalSyntheticLambda0()).iterator(); + while (it.hasNext()) { + C3161ul0 c3161ul0I = ((C3161ul0) ((C2843rP) it.next()).c.get(0)).i(); + if (c3161ul0I.c(new K5$$ExternalSyntheticLambda2())) { + c3161ul0I = ((C3161ul0) abstractC1308bC.c.get(c3161ul0I.c.t().b(true))).i(); + } + AbstractC1869gw.a(c3161ul0I, setC, setC2); + } + int size = setC2.size() + setC.size(); + int i2 = this.c.g; + if (size <= i2) { + return false; + } + abstractC3644zm0.d(size, i2); + return true; + } + + public final int a(AbstractC1308bC abstractC1308bC, A5 a5, Optional optional) { + final C1 c1; + int i2 = 0; + if (!H$$ExternalSyntheticBackport0.m(optional) && !abstractC1308bC.c.isEmpty() && a5.e().V0().D0()) { + for (int iA = Y6.a(abstractC1308bC.X1()); iA < abstractC1308bC.c.size(); iA++) { + C3161ul0 c3161ul0I = abstractC1308bC.b(iA).i(); + if (c3161ul0I.t().I()) { + i2 += 2; + } + I2 i2A = a5.a(iA); + B1 b1A = this.a.a(); + b1A.getClass(); + if (i2A.T0()) { + c1 = new C1(b1A.c(i2A), b1A.g(i2A)); + } else { + c1 = b1A.S5.containsValue(i2A) ? new C1(b1A.g(i2A), b1A.c(i2A)) : null; + } + if (c1 != null && c3161ul0I.c(new Predicate() { // from class: com.android.tools.r8.ir.optimize.H$$ExternalSyntheticLambda2 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return H.a(c1, (AbstractC1076Vw) obj); + } + })) { + i2 += 8; + } + } + } + return i2; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final A5 a(A5 a5, AbstractC1308bC abstractC1308bC) { + return com.android.tools.r8.graph.H0.a(abstractC1308bC.g(this.a, a5)); + } + + /* JADX WARN: Removed duplicated region for block: B:20:0x0084 */ + @Override // com.android.tools.r8.ir.optimize.Y + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public com.android.tools.r8.ir.optimize.S a(com.android.tools.r8.internal.C0874Ot r19, com.android.tools.r8.internal.AbstractC1308bC r20, com.android.tools.r8.graph.S4.c r21, com.android.tools.r8.graph.A5 r22, com.android.tools.r8.graph.A5 r23, com.android.tools.r8.internal.C1631ec r24, com.android.tools.r8.internal.C2052iw r25, com.android.tools.r8.internal.AbstractC3644zm0 r26) { + /* + Method dump skipped, instruction units count: 1036 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.H.a(com.android.tools.r8.internal.Ot, com.android.tools.r8.internal.bC, com.android.tools.r8.graph.S4$c, com.android.tools.r8.graph.A5, com.android.tools.r8.graph.A5, com.android.tools.r8.internal.ec, com.android.tools.r8.internal.iw, com.android.tools.r8.internal.zm0):com.android.tools.r8.ir.optimize.S"); + } + + public final boolean a(C2384mC c2384mC, final A5 a5, final A5 a52, C1631ec c1631ec) { + if (((C3877i) this.a.g()).c(a5.s(), a52.s())) { + return true; + } + return (!a5.e().z0() && ((Boolean) this.a.b(new Function() { // from class: com.android.tools.r8.ir.optimize.H$$ExternalSyntheticLambda1 + @Override // java.util.function.Function + public final Object apply(Object obj) { + return Boolean.valueOf(((C1075Vv) obj).a(a52.a(), a5)); + } + })).booleanValue()) || c1631ec.a(a52.s(), c2384mC) || !a52.a().a(this.a, a5) || this.a.P().g.contains(a52.getReference()); + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a(Q q, AbstractC3644zm0 abstractC3644zm0) { + if (q.c == U.b) { + return true; + } + boolean z = this.h > 0; + if (!z) { + abstractC3644zm0.n(); + } + return z; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a(Q q, C0874Ot c0874Ot, C0874Ot c0874Ot2, AbstractC1308bC abstractC1308bC, H5 h5, AbstractC3644zm0 abstractC3644zm0) { + if (q.c == U.b) { + return false; + } + int iB = W.b(c0874Ot2); + if (this.h < W.b(c0874Ot2)) { + abstractC3644zm0.c(iB, this.h); + } else if (!a(c0874Ot, abstractC1308bC, c0874Ot2, abstractC3644zm0)) { + if (!h5.x()) { + return false; + } + Iterator
    it = c0874Ot2.d.iterator(); + int i2 = 0; + while (it.hasNext()) { + Iterator it2 = it.next().k().iterator(); + int i3 = 0; + while (it2.hasNext()) { + if (it2.next().i()) { + i3++; + } + } + i2 += i3; + } + int size = h5.e.size() * i2; + int i4 = this.c.h; + if (size < i4) { + return false; + } + abstractC3644zm0.b(size, i4); + } + return true; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final void a(C0874Ot c0874Ot) { + this.h -= W.b(c0874Ot); + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final C2867rd a(AbstractC1308bC abstractC1308bC, C2867rd c2867rd) { + return c2867rd; + } + + public static boolean a(C1 c1, AbstractC1076Vw abstractC1076Vw) { + return abstractC1076Vw.a(c1.b); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H0.java new file mode 100644 index 000000000000..e5a0f609bf7c --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/H0.java @@ -0,0 +1,15 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class H0 { + public static final /* synthetic */ boolean c = true; + public final A5 a; + public boolean b; + + public H0(A5 a5) { + this.a = a5; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I.java new file mode 100644 index 000000000000..43efb8e5f506 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I.java @@ -0,0 +1,38 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.C3200vB; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class I { + public static final /* synthetic */ boolean c = true; + public final C0421y a; + public final C3200vB b; + + public I(C0421y c0421y) { + this.a = c0421y; + this.b = c0421y.M(); + } + + /* JADX WARN: Removed duplicated region for block: B:126:0x0376 */ + /* JADX WARN: Removed duplicated region for block: B:169:0x04ab */ + /* JADX WARN: Removed duplicated region for block: B:171:0x04ae */ + /* JADX WARN: Removed duplicated region for block: B:202:0x0559 */ + /* JADX WARN: Removed duplicated region for block: B:205:0x0564 */ + /* JADX WARN: Removed duplicated region for block: B:206:0x056f */ + /* JADX WARN: Removed duplicated region for block: B:25:0x00ab */ + /* JADX WARN: Removed duplicated region for block: B:65:0x01c8 */ + /* JADX WARN: Removed duplicated region for block: B:75:0x0217 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final void a(com.android.tools.r8.internal.C0874Ot r20) { + /* + Method dump skipped, instruction units count: 1463 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.I.a(com.android.tools.r8.internal.Ot):void"); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I0.java new file mode 100644 index 000000000000..3376d10e057c --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/I0.java @@ -0,0 +1,293 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.AbstractC0275i0; +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.E2; +import com.android.tools.r8.graph.E4; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.AbstractC3415xU; +import com.android.tools.r8.internal.AbstractC3581z9; +import com.android.tools.r8.internal.C0607Ga; +import com.android.tools.r8.internal.C0611Ge; +import com.android.tools.r8.internal.C0987Sx; +import com.android.tools.r8.internal.C1134Ya; +import com.android.tools.r8.internal.C1446cb; +import com.android.tools.r8.internal.C1982i9; +import com.android.tools.r8.internal.C2826r9; +import com.android.tools.r8.internal.C3421xa; +import com.android.tools.r8.internal.EnumC2621ou; +import com.android.tools.r8.internal.G9; +import com.android.tools.r8.internal.Hl0; +import com.android.tools.r8.internal.InterfaceC1376br; +import com.android.tools.r8.internal.K9; +import com.android.tools.r8.internal.LO; +import com.android.tools.r8.internal.P9; +import com.android.tools.r8.internal.S40; +import com.android.tools.r8.internal.W9; +import com.android.tools.r8.synthesis.S; +import com.sun.tools.javac.jvm.ByteCodes; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class I0 { + public static AbstractC0275i0 a(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, new P9(hl0, 0), new C2826r9(EnumC2621ou.b, hl0, k93), k92, new W9(b1.e("Ljava/lang/ClassCastException;")), new C0607Ga(C0607Ga.a.e), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/ClassCastException;"), b1.a(b1.E1, new I2[0]), b1.c("")), false), new C1134Ya(), k93, new C1982i9(new C0987Sx(new int[]{0}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.a2)})), new C3421xa(), k94, new AbstractC3581z9[0]); + S40 s40 = S40.e; + return new com.android.tools.r8.graph.G(i2, 2, 1, abstractC0695IuA, s40, s40); + } + + public static H0 b(final C0421y c0421y, LO lo, C0611Ge c0611Ge) { + final B1 b1A = c0421y.a(); + final E2 e2A = b1A.a(b1A.E1, b1A.a2); + A5 a5B = c0421y.a.g().b(new com.android.tools.r8.synthesis.I() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda5 + @Override // com.android.tools.r8.synthesis.I + public final S.b a(com.android.tools.r8.synthesis.S s) { + return s.C; + } + }, c0611Ge.a(), c0421y, new Consumer() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda6 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + I0.f(c0421y, b1A, e2A, (com.android.tools.r8.synthesis.N) obj); + } + }); + lo.s(a5B, c0611Ge.c); + return new H0(a5B); + } + + public static void c(C0421y c0421y, final B1 b1, E2 e2, com.android.tools.r8.synthesis.N n) { + n.h = E4.b(4105, false); + n.f = C1446cb.i; + com.android.tools.r8.androidapi.f fVar = c0421y.U; + n.l = fVar; + n.m = fVar; + n.g = new com.android.tools.r8.synthesis.M() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda0 + @Override // com.android.tools.r8.synthesis.M + public final AbstractC0275i0 a(C0409w2 c0409w2) { + return I0.c(b1, c0409w2); + } + }; + n.e = e2; + } + + public static void d(C0421y c0421y, final B1 b1, E2 e2, com.android.tools.r8.synthesis.N n) { + n.h = E4.b(4105, false); + n.f = C1446cb.i; + com.android.tools.r8.androidapi.f fVar = c0421y.U; + n.l = fVar; + n.m = fVar; + n.g = new com.android.tools.r8.synthesis.M() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda9 + @Override // com.android.tools.r8.synthesis.M + public final AbstractC0275i0 a(C0409w2 c0409w2) { + return I0.d(b1, c0409w2); + } + }; + n.e = e2; + } + + public static void e(C0421y c0421y, final B1 b1, E2 e2, com.android.tools.r8.synthesis.N n) { + n.h = E4.b(4105, false); + n.f = C1446cb.i; + com.android.tools.r8.androidapi.f fVar = c0421y.U; + n.l = fVar; + n.m = fVar; + n.g = new com.android.tools.r8.synthesis.M() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda2 + @Override // com.android.tools.r8.synthesis.M + public final AbstractC0275i0 a(C0409w2 c0409w2) { + return I0.e(b1, c0409w2); + } + }; + n.e = e2; + } + + public static void f(C0421y c0421y, final B1 b1, E2 e2, com.android.tools.r8.synthesis.N n) { + n.h = E4.b(4105, false); + n.f = C1446cb.i; + com.android.tools.r8.androidapi.f fVar = c0421y.U; + n.l = fVar; + n.m = fVar; + n.g = new com.android.tools.r8.synthesis.M() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda1 + @Override // com.android.tools.r8.synthesis.M + public final AbstractC0275i0 a(C0409w2 c0409w2) { + return I0.f(b1, c0409w2); + } + }; + n.e = e2; + } + + public static AbstractC0275i0 c(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + I2 i2 = c0409w2.f; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, new W9(b1.e("Ljava/lang/IncompatibleClassChangeError;")), new C0607Ga(C0607Ga.a.e), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/IncompatibleClassChangeError;"), b1.a(b1.E1, new I2[0]), b1.c("")), false), new C1134Ya()); + S40 s40 = S40.e; + return new com.android.tools.r8.graph.G(i2, 2, 0, abstractC0695IuA, s40, s40); + } + + public static AbstractC0275i0 d(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + I2 i2 = c0409w2.f; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, new W9(b1.e("Ljava/lang/NoSuchMethodError;")), new C0607Ga(C0607Ga.a.e), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/NoSuchMethodError;"), b1.a(b1.E1, new I2[0]), b1.c("")), false), new C1134Ya()); + S40 s40 = S40.e; + return new com.android.tools.r8.graph.G(i2, 2, 0, abstractC0695IuA, s40, s40); + } + + public static AbstractC0275i0 e(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + I2 i2 = c0409w2.f; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, new W9(b1.e("Ljava/lang/RuntimeException;")), new C0607Ga(C0607Ga.a.e), new P9(Hl0.b, 0), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/RuntimeException;"), b1.a(b1.E1, b1.Y1), b1.c("")), false), new C1134Ya(), k92); + S40 s40 = S40.e; + return new com.android.tools.r8.graph.G(i2, 3, 1, abstractC0695IuA, s40, s40); + } + + public static AbstractC0275i0 f(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + K9 k92 = new K9(); + K9 k93 = new K9(); + K9 k94 = new K9(); + I2 i2 = c0409w2.f; + Hl0 hl0 = Hl0.b; + Object[] objArrA = AbstractC3415xU.a(11, new Object[]{k9, new P9(hl0, 0), new C2826r9(EnumC2621ou.b, hl0, k93), k92, new P9(hl0, 0), new G9(ByteCodes.invokevirtual, b1.a(b1.a2, b1.a(b1.Y1, new I2[0]), b1.c("toString")), false), new C0607Ga(C0607Ga.a.c), k93, new C1982i9(new C0987Sx(new int[]{0}, new InterfaceC1376br[]{InterfaceC1376br.b(b1.a2)})), new C3421xa(), k94}); + AbstractC0695Iu abstractC0695IuB = AbstractC0695Iu.b(objArrA.length, objArrA); + S40 s40 = S40.e; + return new com.android.tools.r8.graph.G(i2, 1, 1, abstractC0695IuB, s40, s40); + } + + public static AbstractC0275i0 b(B1 b1, C0409w2 c0409w2) { + K9 k9 = new K9(); + I2 i2 = c0409w2.f; + AbstractC0695Iu abstractC0695IuA = AbstractC0695Iu.a(k9, new W9(b1.e("Ljava/lang/IllegalAccessError;")), new C0607Ga(C0607Ga.a.e), new G9(ByteCodes.invokespecial, b1.a(b1.e("Ljava/lang/IllegalAccessError;"), b1.a(b1.E1, new I2[0]), b1.c("")), false), new C1134Ya()); + S40 s40 = S40.e; + return new com.android.tools.r8.graph.G(i2, 2, 0, abstractC0695IuA, s40, s40); + } + + public static H0 c(final C0421y c0421y, J0 j0, C0611Ge c0611Ge) { + final B1 b1A = c0421y.a(); + final E2 e2A = b1A.a(b1A.u3, new I2[0]); + A5 a5B = c0421y.a.g().b(new com.android.tools.r8.synthesis.I() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda10 + @Override // com.android.tools.r8.synthesis.I + public final S.b a(com.android.tools.r8.synthesis.S s) { + return s.G; + } + }, c0611Ge.a(), c0421y, new Consumer() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda11 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + I0.d(c0421y, b1A, e2A, (com.android.tools.r8.synthesis.N) obj); + } + }); + j0.t(a5B, c0611Ge.c); + return new H0(a5B); + } + + public static H0 d(final C0421y c0421y, J0 j0, C0611Ge c0611Ge) { + final B1 b1A = c0421y.a(); + final E2 e2A = b1A.a(b1A.m3, b1A.Y1); + A5 a5B = c0421y.a.g().b(new com.android.tools.r8.synthesis.I() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda16 + @Override // com.android.tools.r8.synthesis.I + public final S.b a(com.android.tools.r8.synthesis.S s) { + return s.H; + } + }, c0611Ge.a(), c0421y, new Consumer() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda17 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + I0.e(c0421y, b1A, e2A, (com.android.tools.r8.synthesis.N) obj); + } + }); + j0.o(a5B, c0611Ge.c); + return new H0(a5B); + } + + public static void b(C0421y c0421y, final B1 b1, E2 e2, com.android.tools.r8.synthesis.N n) { + n.h = E4.b(4105, false); + n.f = C1446cb.i; + com.android.tools.r8.androidapi.f fVar = c0421y.U; + n.l = fVar; + n.m = fVar; + n.g = new com.android.tools.r8.synthesis.M() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda8 + @Override // com.android.tools.r8.synthesis.M + public final AbstractC0275i0 a(C0409w2 c0409w2) { + return I0.b(b1, c0409w2); + } + }; + n.e = e2; + } + + public static H0 a(final C0421y c0421y, LO lo, C0611Ge c0611Ge) { + final B1 b1A = c0421y.a(); + final E2 e2A = b1A.a(b1A.E1, b1A.a2); + A5 a5B = c0421y.a.g().b(new com.android.tools.r8.synthesis.I() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda14 + @Override // com.android.tools.r8.synthesis.I + public final S.b a(com.android.tools.r8.synthesis.S s) { + return s.D; + } + }, c0611Ge.a(), c0421y, new Consumer() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda15 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + I0.a(c0421y, b1A, e2A, (com.android.tools.r8.synthesis.N) obj); + } + }); + lo.u(a5B, c0611Ge.c); + return new H0(a5B); + } + + public static H0 b(final C0421y c0421y, J0 j0, C0611Ge c0611Ge) { + final B1 b1A = c0421y.a(); + final E2 e2A = b1A.a(b1A.s3, new I2[0]); + A5 a5B = c0421y.a.g().b(new com.android.tools.r8.synthesis.I() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda3 + @Override // com.android.tools.r8.synthesis.I + public final S.b a(com.android.tools.r8.synthesis.S s) { + return s.F; + } + }, c0611Ge.a(), c0421y, new Consumer() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda4 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + I0.c(c0421y, b1A, e2A, (com.android.tools.r8.synthesis.N) obj); + } + }); + j0.v(a5B, c0611Ge.c); + return new H0(a5B); + } + + public static void a(C0421y c0421y, final B1 b1, E2 e2, com.android.tools.r8.synthesis.N n) { + n.h = E4.b(4105, false); + n.f = C1446cb.i; + com.android.tools.r8.androidapi.f fVar = c0421y.U; + n.l = fVar; + n.m = fVar; + n.g = new com.android.tools.r8.synthesis.M() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda7 + @Override // com.android.tools.r8.synthesis.M + public final AbstractC0275i0 a(C0409w2 c0409w2) { + return I0.a(b1, c0409w2); + } + }; + n.e = e2; + } + + public static H0 a(final C0421y c0421y, J0 j0, C0611Ge c0611Ge) { + final B1 b1A = c0421y.a(); + final E2 e2A = b1A.a(b1A.p3, new I2[0]); + A5 a5B = c0421y.a.g().b(new com.android.tools.r8.synthesis.I() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda12 + @Override // com.android.tools.r8.synthesis.I + public final S.b a(com.android.tools.r8.synthesis.S s) { + return s.E; + } + }, c0611Ge.a(), c0421y, new Consumer() { // from class: com.android.tools.r8.ir.optimize.I0$$ExternalSyntheticLambda13 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + I0.b(c0421y, b1A, e2A, (com.android.tools.r8.synthesis.N) obj); + } + }); + j0.e(a5B, c0611Ge.c); + return new H0(a5B); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J.java new file mode 100644 index 000000000000..eb391263efa8 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J.java @@ -0,0 +1,14 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class J { + public static final /* synthetic */ boolean b = true; + public final C0421y a; + + public J(C0421y c0421y) { + this.a = c0421y; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J0.java new file mode 100644 index 000000000000..9f090b417237 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/J0.java @@ -0,0 +1,19 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface J0 { + void e(A5 a5, A5 a52); + + void o(A5 a5, A5 a52); + + void s(A5 a5, A5 a52); + + void t(A5 a5, A5 a52); + + void u(A5 a5, A5 a52); + + void v(A5 a5, A5 a52); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/K.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/K.java new file mode 100644 index 000000000000..dda52ccbdd34 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/K.java @@ -0,0 +1,94 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.graph.S4; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC3644zm0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1631ec; +import com.android.tools.r8.internal.C2052iw; +import com.android.tools.r8.internal.C2867rd; +import com.android.tools.r8.internal.H5; +import java.util.Map; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class K implements Y { + public static final /* synthetic */ boolean c = true; + public final C0421y a; + public final Map b; + + public K(C0421y c0421y, Map map) { + this.a = c0421y; + this.b = map; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a() { + return true; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final C0421y b() { + return this.a; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a(C0874Ot c0874Ot, S4.c cVar, A5 a5, AbstractC3644zm0 abstractC3644zm0) { + return true; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final A5 a(A5 a5, AbstractC1308bC abstractC1308bC) { + T t = (T) this.b.get(abstractC1308bC); + if (t != null) { + return t.a; + } + return com.android.tools.r8.graph.H0.a(abstractC1308bC.g(this.a, a5)); + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final S a(C0874Ot c0874Ot, AbstractC1308bC abstractC1308bC, S4.c cVar, A5 a5, A5 a52, C1631ec c1631ec, C2052iw c2052iw, AbstractC3644zm0 abstractC3644zm0) { + T t = (T) this.b.get(abstractC1308bC); + if (t == null) { + return null; + } + P p = new P(); + p.b = abstractC1308bC; + p.e = t.a; + if (a(this.a, p, abstractC1308bC, a5, a52)) { + return p.a(); + } + return null; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a(Q q, AbstractC3644zm0 abstractC3644zm0) { + return true; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final boolean a(Q q, C0874Ot c0874Ot, C0874Ot c0874Ot2, AbstractC1308bC abstractC1308bC, H5 h5, AbstractC3644zm0 abstractC3644zm0) { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final void a(C0874Ot c0874Ot) { + } + + @Override // com.android.tools.r8.ir.optimize.Y + public final C2867rd a(AbstractC1308bC abstractC1308bC, C2867rd c2867rd) { + boolean z = c; + if (!z && !abstractC1308bC.X1()) { + throw new AssertionError(); + } + T t = (T) this.b.get(abstractC1308bC.d0()); + if (!z && t == null) { + throw new AssertionError(); + } + D2 d2 = t.b; + return d2 != null ? d2.getType().b(this.a).b() : c2867rd; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/L.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/L.java new file mode 100644 index 000000000000..2758c7d9d551 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/L.java @@ -0,0 +1,30 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.InterfaceC0693Is; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class L implements InterfaceC0693Is { + public static final /* synthetic */ boolean a = true; + + @Override // com.android.tools.r8.internal.InterfaceC0693Is + public final boolean a(Object obj, Object obj2) { + AbstractC1308bC abstractC1308bC = (AbstractC1308bC) obj; + AbstractC1308bC abstractC1308bC2 = (AbstractC1308bC) obj2; + boolean z = a; + if (!z && abstractC1308bC != null && abstractC1308bC.d().y()) { + throw new AssertionError(); + } + if (z || abstractC1308bC2 == null || !abstractC1308bC2.d().y()) { + return abstractC1308bC == abstractC1308bC2 || (abstractC1308bC != null && abstractC1308bC2 != null && abstractC1308bC.b(abstractC1308bC2) && abstractC1308bC.c.equals(abstractC1308bC2.c)); + } + throw new AssertionError(); + } + + @Override // com.android.tools.r8.internal.InterfaceC0693Is + public final int a(Object obj) { + AbstractC1308bC abstractC1308bC = (AbstractC1308bC) obj; + return abstractC1308bC.c.hashCode() + (abstractC1308bC.U2().hashCode() * 31); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/M.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/M.java new file mode 100644 index 000000000000..c16e94a51b95 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/M.java @@ -0,0 +1,217 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.S4; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.C0756Kt; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1318bK; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.K5; +import com.android.tools.r8.internal.MT; +import com.android.tools.r8.internal.PT; +import com.android.tools.r8.internal.QT; +import com.android.tools.r8.internal.TB; +import com.android.tools.r8.shaking.C3877i; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class M { + public static final /* synthetic */ boolean c = true; + public final C0421y a; + public final B1 b; + + public M(C0421y c0421y) { + this.a = c0421y; + this.b = c0421y.a(); + } + + public final void a(final C0874Ot c0874Ot) { + com.android.tools.r8.graph.H0 h0G; + PT pt = new PT(new L()); + A5 a5I = c0874Ot.i(); + Iterator
    it = c0874Ot.d.iterator(); + while (it.hasNext()) { + for (AbstractC1076Vw abstractC1076Vw : it.next().k()) { + if (abstractC1076Vw.W1()) { + AbstractC1308bC abstractC1308bCC0 = abstractC1076Vw.c0(); + if (abstractC1308bCC0.d() != null && !abstractC1076Vw.d().y()) { + C0409w2 c0409w2U2 = abstractC1308bCC0.U2(); + C1318bK c1318bK = this.a.A; + c1318bK.getClass(); + if (!c1318bK.a(abstractC1308bCC0.U2(), abstractC1308bCC0.c) || !this.b.a6.contains(c0409w2U2)) { + if (!this.a.o()) { + continue; + } else { + if (!c && !this.a.g().i()) { + throw new AssertionError(); + } + C0421y c0421yV = this.a.V(); + S4.c cVarO = ((C3877i) c0421yV.g()).b(abstractC1308bCC0.U2(), abstractC1308bCC0.T2()).o(); + if (cVarO != null && !cVarO.a(a5I, c0421yV).b() && (h0G = abstractC1308bCC0.g(c0421yV, a5I)) != null) { + C0291j1 c0291j1E = h0G.e(); + c0291j1E.P0(); + com.android.tools.r8.ir.optimize.info.h hVar = c0291j1E.m; + c0421yV.M(); + if (hVar.a(abstractC1308bCC0) || !hVar.F() || (abstractC1076Vw.X1() && abstractC1076Vw.d0().V2().i().t().F())) { + } + } + } + } + Iterator it2 = abstractC1076Vw.c.iterator(); + while (true) { + if (!it2.hasNext()) { + ((List) pt.computeIfAbsent(abstractC1308bCC0, new Function() { // from class: com.android.tools.r8.ir.optimize.M$$ExternalSyntheticLambda1 + @Override // java.util.function.Function + public final Object apply(Object obj) { + return M.a((AbstractC1308bC) obj); + } + })).add(abstractC1076Vw.d()); + break; + } + C3161ul0 c3161ul0 = (C3161ul0) it2.next(); + if (c3161ul0.l() || !c3161ul0.c.x1() || c3161ul0.c.b().o() != 0) { + break; + } + } + } + } + } + } + if (pt.isEmpty()) { + return; + } + if (!c && c0874Ot.j().x()) { + throw new AssertionError(); + } + final HashMap map = new HashMap(); + if (pt.n == null) { + pt.n = new MT(pt); + } + pt.n.stream().filter(new Predicate() { // from class: com.android.tools.r8.ir.optimize.M$$ExternalSyntheticLambda2 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return M.a((QT) obj); + } + }).sorted(new Comparator() { // from class: com.android.tools.r8.ir.optimize.M$$ExternalSyntheticLambda3 + @Override // java.util.Comparator + public final int compare(Object obj, Object obj2) { + return Integer.compare(((List) ((QT) obj2).getValue()).size(), ((List) ((QT) obj).getValue()).size()); + } + }).limit(15L).forEach(new Consumer() { // from class: com.android.tools.r8.ir.optimize.M$$ExternalSyntheticLambda4 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + M.a(c0874Ot, map, (QT) obj); + } + }); + if (!map.isEmpty()) { + Iterator
    it3 = c0874Ot.d.iterator(); + while (it3.hasNext()) { + K5 k5A = it3.next().a(c0874Ot); + while (k5A.hasNext()) { + AbstractC1076Vw next = k5A.next(); + if (next.W1()) { + AbstractC1308bC abstractC1308bCC02 = next.c0(); + if (map.containsKey(abstractC1308bCC02)) { + C3161ul0 c3161ul02 = (C3161ul0) map.get(abstractC1308bCC02); + if (!c && c3161ul02 == null) { + throw new AssertionError(); + } + abstractC1308bCC02.d().f(c3161ul02); + k5A.p(); + } else { + continue; + } + } + } + } + } + c0874Ot.a((C0756Kt) null, (C3658a) null); + c0874Ot.y(); + if (!c && !c0874Ot.b(this.a)) { + throw new AssertionError(); + } + } + + public static /* synthetic */ List a(AbstractC1308bC abstractC1308bC) { + return new ArrayList(); + } + + public static /* synthetic */ boolean a(QT qt) { + return ((List) qt.getValue()).size() > 1; + } + + public static void a(C0874Ot c0874Ot, Map map, QT qt) { + AbstractC1308bC abstractC1308bC = (AbstractC1308bC) qt.getKey(); + C3161ul0 c3161ul0A = c0874Ot.a(abstractC1308bC.a(), abstractC1308bC.d().r()); + TB tbA = TB.a(abstractC1308bC.P2(), abstractC1308bC.U2(), null, c3161ul0A, abstractC1308bC.c, false); + tbA.b(((C3161ul0) ((List) qt.getValue()).get(0)).c.getPosition()); + if (abstractC1308bC.c.size() > 0) { + a(c0874Ot, tbA); + } else { + K5 k5A = c0874Ot.j().a(c0874Ot); + while (true) { + if (!k5A.hasNext()) { + break; + } else if (!k5A.next().l1()) { + k5A.previous(); + break; + } + } + k5A.add(tbA); + } + Iterator it = ((List) qt.getValue()).iterator(); + while (it.hasNext()) { + map.put(((C3161ul0) it.next()).c.c0(), c3161ul0A); + } + } + + public static void a(C0874Ot c0874Ot, TB tb) { + K5 k5A = c0874Ot.j().a(c0874Ot); + int i = 0; + while (true) { + if (!k5A.hasNext()) { + break; + } + AbstractC1076Vw next = k5A.next(); + if (next.d1()) { + Iterator it = tb.c.iterator(); + while (it.hasNext()) { + if (((C3161ul0) it.next()) == next.d()) { + i++; + } + } + } + if (i == tb.c.size()) { + if (k5A.hasNext() && k5A.m().l1()) { + k5A.a(new Predicate() { // from class: com.android.tools.r8.ir.optimize.M$$ExternalSyntheticLambda0 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return M.a((AbstractC1076Vw) obj); + } + }); + } + } + } + k5A.add(tb); + } + + public static /* synthetic */ boolean a(AbstractC1076Vw abstractC1076Vw) { + return !abstractC1076Vw.l1(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/N.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/N.java new file mode 100644 index 000000000000..514713976e66 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/N.java @@ -0,0 +1,22 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public enum N { + c("NEVER"), + d("SAMECLASS"), + e("SAMENEST"), + f("PACKAGE"), + g("SUBCLASS"), + h("ALWAYS"); + + public final int b; + + N(String str) { + this.b = i; + } + + public final boolean b(int i2) { + return (i2 & this.b) != 0; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/O.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/O.java new file mode 100644 index 000000000000..867deb330aaa --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/O.java @@ -0,0 +1,95 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.AbstractC0247g; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.I2; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class O { + public final N a; + public final I2 b; + public static final /* synthetic */ boolean e = true; + public static final O c = new O(N.c); + public static final O d = new O(N.h); + + public O(N n) { + if (!e && n != N.c && n != N.h) { + throw new AssertionError(); + } + this.a = n; + this.b = null; + } + + public static O a(A5 a5, I2 i2, AbstractC0247g abstractC0247g, C0421y c0421y) { + if (abstractC0247g.m()) { + return d; + } + if (abstractC0247g.i()) { + return a5.a().t1() ? AbstractC3665d0.a(a5.s(), i2, c0421y) ? new O(N.e, i2) : c : i2 == a5.s() ? new O(N.d, i2) : c; + } + if (abstractC0247g.l()) { + return i2.D0().equals(a5.s().D0()) ? new O(N.f, i2) : c0421y.a(a5.s(), i2).d() ? new O(N.g, i2) : c; + } + return i2.D0().equals(a5.s().D0()) ? new O(N.f, i2) : c; + } + + public final boolean equals(Object obj) { + if (!(obj instanceof O)) { + return false; + } + O o = (O) obj; + return this.a.ordinal() == o.a.ordinal() && this.b == o.b; + } + + public final int hashCode() { + if (this.b == null) { + return this.a.ordinal(); + } + return this.b.f.hashCode() * this.a.ordinal(); + } + + public O(N n, I2 i2) { + boolean z = e; + if (!z && n == N.c) { + throw new AssertionError(); + } + if (!z && n == N.h) { + throw new AssertionError(); + } + if (!z && i2 == null) { + throw new AssertionError(); + } + this.a = n; + this.b = i2; + } + + public static O a(C0421y c0421y, I2 i2, A5 a5) { + if (i2.I0()) { + return a(c0421y, i2.a(1, c0421y.a()), a5); + } + if (i2.T0()) { + return d; + } + com.android.tools.r8.graph.E0 e0D = c0421y.d(i2); + if (e0D == null) { + return c; + } + return a(a5, i2, e0D.f, c0421y); + } + + /* JADX WARN: Removed duplicated region for block: B:156:0x01e8 A[RETURN] */ + /* JADX WARN: Removed duplicated region for block: B:157:0x01e9 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public static com.android.tools.r8.ir.optimize.O a(com.android.tools.r8.ir.optimize.O r5, com.android.tools.r8.ir.optimize.O r6, com.android.tools.r8.graph.C0421y r7) { + /* + Method dump skipped, instruction units count: 691 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.O.a(com.android.tools.r8.ir.optimize.O, com.android.tools.r8.ir.optimize.O, com.android.tools.r8.graph.y):com.android.tools.r8.ir.optimize.O"); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/P.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/P.java new file mode 100644 index 000000000000..4b0df2601a1b --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/P.java @@ -0,0 +1,31 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.internal.AbstractC1308bC; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class P { + public D2 a; + public AbstractC1308bC b; + public U c; + public boolean d; + public A5 e; + + public final void a(U u) { + this.c = u; + } + + public final Q a() { + Q q = new Q(this.e, this.b, this.c); + D2 d2 = this.a; + if (d2 != null) { + q.e = d2; + } + if (this.d) { + q.d = true; + } + return q; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Q.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Q.java new file mode 100644 index 000000000000..a1847ced8437 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Q.java @@ -0,0 +1,5259 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0286j0; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.internal.AbstractC0695Iu; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC2584oX; +import com.android.tools.r8.internal.AbstractC3250vj0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C0956Rv; +import com.android.tools.r8.internal.C2929sC; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.Ec0; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.K5; +import com.android.tools.r8.internal.TB; +import java.util.List; +import java.util.ListIterator; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class Q extends S { + public static final /* synthetic */ boolean f = true; + public final A5 a; + public final TB b; + public final U c; + public boolean d; + public D2 e; + + public Q(A5 a5, TB tb, U u) { + this.a = a5; + this.b = tb; + this.c = u; + } + + @Override // com.android.tools.r8.ir.optimize.S + public final Q a() { + return this; + } + + public static void a(C0 c0, H5 h5, Consumer consumer, Consumer consumer2) { + List list = c0.c; + int i = c0.a; + if (i == 3 || ((A0.b(i) && list.size() > 1) || (A0.b(c0.a) && ((H5) list.get(0)).x()))) { + consumer2.accept(h5); + } else { + c0.b.forEach(consumer); + list.forEach(consumer2); + } + } + + /* JADX WARN: Type update failed for variable: r20v0 ??, new type: com.android.tools.r8.internal.iw + jadx.core.utils.exceptions.JadxOverflowException: Type inference error: updates count limit reached with updateSeq = 6411. Try increasing type updates limit count. + at jadx.core.dex.visitors.typeinference.TypeUpdateInfo.requestUpdate(TypeUpdateInfo.java:37) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:224) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:197) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + */ + /* JADX WARN: Type update failed for variable: r2v2 ??, new type: java.util.function.Consumer + jadx.core.utils.exceptions.JadxOverflowException: Type inference error: updates count limit reached with updateSeq = 6411. Try increasing type updates limit count. + at jadx.core.dex.visitors.typeinference.TypeUpdateInfo.requestUpdate(TypeUpdateInfo.java:37) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:224) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + */ + /* JADX WARN: Type update failed for variable: r5v1 ??, new type: com.android.tools.r8.internal.Ot + jadx.core.utils.exceptions.JadxOverflowException: Type inference error: updates count limit reached with updateSeq = 6411. Try increasing type updates limit count. + at jadx.core.dex.visitors.typeinference.TypeUpdateInfo.requestUpdate(TypeUpdateInfo.java:37) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:224) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:197) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + */ + /* JADX WARN: Type update failed for variable: r6v13 ??, new type: com.android.tools.r8.internal.H5 + jadx.core.utils.exceptions.JadxOverflowException: Type inference error: updates count limit reached with updateSeq = 6411. Try increasing type updates limit count. + at jadx.core.dex.visitors.typeinference.TypeUpdateInfo.requestUpdate(TypeUpdateInfo.java:37) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:224) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + */ + /* JADX WARN: Type update failed for variable: r7v1 ??, new type: com.android.tools.r8.internal.H5 + jadx.core.utils.exceptions.JadxOverflowException: Type inference error: updates count limit reached with updateSeq = 6411. Try increasing type updates limit count. + at jadx.core.dex.visitors.typeinference.TypeUpdateInfo.requestUpdate(TypeUpdateInfo.java:37) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:224) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:399) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeChecked(TypeUpdate.java:119) + at jadx.core.dex.visitors.typeinference.TypeUpdate.applyInvokeTypes(TypeUpdate.java:381) + at jadx.core.dex.visitors.typeinference.TypeUpdate.invokeListener(TypeUpdate.java:364) + at jadx.core.dex.visitors.typeinference.TypeUpdate.runListeners(TypeUpdate.java:241) + at jadx.core.dex.visitors.typeinference.TypeUpdate.requestUpdate(TypeUpdate.java:225) + at jadx.core.dex.visitors.typeinference.TypeUpdate.updateTypeForSsaVar(TypeUpdate.java:202) + */ + /* JADX ERROR: Type inference failed with stack overflow + jadx.core.utils.exceptions.JadxOverflowException + at jadx.core.utils.ErrorsCounter.addError(ErrorsCounter.java:59) + at jadx.core.utils.ErrorsCounter.error(ErrorsCounter.java:31) + at jadx.core.dex.attributes.nodes.NotificationAttrNode.addError(NotificationAttrNode.java:19) + at jadx.core.dex.visitors.typeinference.TypeInferenceVisitor.visit(TypeInferenceVisitor.java:77) + */ + public final com.android.tools.r8.internal.C0874Ot a(com.android.tools.r8.graph.C0421y r17, com.android.tools.r8.internal.AbstractC1308bC r18, com.android.tools.r8.graph.A5 r19, com.android.tools.r8.internal.C2052iw r20) { + /* + Method dump skipped, instruction units count: 641 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.Q.a(com.android.tools.r8.graph.y, com.android.tools.r8.internal.bC, com.android.tools.r8.graph.A5, com.android.tools.r8.internal.iw):com.android.tools.r8.internal.Ot"); + } + + public final void a(C0874Ot c0874Ot, H5 h5) { + boolean z = f; + if (!z && h5.x()) { + throw new AssertionError(); + } + H5 h5A = h5.a(c0874Ot, h5.s().isEmpty() ? c0874Ot.c().size() : 0).a(c0874Ot, 0, (ListIterator) null); + if (!z && h5A.x()) { + throw new AssertionError(); + } + K5 k5A = h5A.a(c0874Ot); + k5A.e = this.b.getPosition(); + k5A.add(new C0956Rv(this.a.s(), c0874Ot.a(AbstractC3250vj0.k(), (C0286j0) null))); + } + + public final void a(C0421y c0421y, C0874Ot c0874Ot, AbstractC1308bC abstractC1308bC, H5 h5) { + int size; + List listC = c0874Ot.c(); + if (!listC.isEmpty()) { + C3161ul0 c3161ul0 = listC.get(0); + boolean z = f; + if (!z && !c3161ul0.l) { + throw new AssertionError(); + } + if (!h5.s().isEmpty()) { + size = 0; + } else { + size = listC.size(); + } + H5 h5A = h5.a(c0874Ot, size).a(c0874Ot, 0, (ListIterator) null); + if (!z && h5A.x()) { + throw new AssertionError(); + } + K5 k5A = h5A.a(c0874Ot); + k5A.e = abstractC1308bC.getPosition(); + C0409w2 c0409w2 = c0421y.a().p4.d; + int i = AbstractC0695Iu.c; + k5A.add(new C2929sC(c0409w2, null, new Ec0(c3161ul0))); + return; + } + if (!f) { + throw new AssertionError("Unable to synthesize a null check for the receiver"); + } + } + + public final void a(AbstractC1076Vw abstractC1076Vw) { + AbstractC2584oX position = abstractC1076Vw.getPosition(); + if (position == null) { + if (!f) { + throw new AssertionError("Expected position for inlinee call to receiver"); + } + } else { + AbstractC2584oX abstractC2584oXH = position.h(); + AbstractC2584oX.a aVarB = abstractC2584oXH.b(); + aVarB.d = true; + abstractC1076Vw.a(position.a(abstractC2584oXH, aVarB.c().a())); + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/S.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/S.java new file mode 100644 index 000000000000..b00e2e3133b9 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/S.java @@ -0,0 +1,9 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class S { + public Q a() { + return null; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/T.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/T.java new file mode 100644 index 000000000000..67916b120d7d --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/T.java @@ -0,0 +1,21 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.D2; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class T { + public final A5 a; + public final D2 b; + + public T(D2 d2, A5 a5) { + this.a = a5; + this.b = d2; + } + + public T(A5 a5) { + this.a = a5; + this.b = null; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/U.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/U.java new file mode 100644 index 000000000000..9d96037eda54 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/U.java @@ -0,0 +1,16 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX WARN: $VALUES field not found */ +/* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class U { + public static final U b = new U(0, "ALWAYS"); + public static final U c = new U(1, "SINGLE_CALLER"); + public static final U d = new U(2, "MULTI_CALLER_CANDIDATE"); + public static final U e = new U(3, "SIMPLE"); + public static final U f = new U(4, "NEVER"); + + public U(int i, String str) { + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/V.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/V.java new file mode 100644 index 000000000000..8b2b75b21133 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/V.java @@ -0,0 +1,6 @@ +package com.android.tools.r8.ir.optimize; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class V extends S { +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/W.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/W.java new file mode 100644 index 000000000000..96eb51dab273 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/W.java @@ -0,0 +1,404 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.graph.F5; +import com.android.tools.r8.graph.G4; +import com.android.tools.r8.graph.G5; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC3424xb0; +import com.android.tools.r8.internal.AbstractC3644zm0; +import com.android.tools.r8.internal.Am0; +import com.android.tools.r8.internal.BX; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C0996Tg; +import com.android.tools.r8.internal.C1017Tr; +import com.android.tools.r8.internal.C1020Tt; +import com.android.tools.r8.internal.C1351bi; +import com.android.tools.r8.internal.C1581e10; +import com.android.tools.r8.internal.C1682f5; +import com.android.tools.r8.internal.C1711fS; +import com.android.tools.r8.internal.C2052iw; +import com.android.tools.r8.internal.C2298lM; +import com.android.tools.r8.internal.C2824r8; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3200vB; +import com.android.tools.r8.internal.C3571z4; +import com.android.tools.r8.internal.CC; +import com.android.tools.r8.internal.EnumC3471y2; +import com.android.tools.r8.internal.Fh0; +import com.android.tools.r8.internal.G10; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.H5$$ExternalSyntheticLambda0; +import com.android.tools.r8.internal.InterfaceC2144jw; +import com.android.tools.r8.internal.J5; +import com.android.tools.r8.internal.JO; +import com.android.tools.r8.internal.K5$$ExternalSyntheticLambda4; +import com.android.tools.r8.internal.L5; +import com.android.tools.r8.internal.RJ; +import com.android.tools.r8.internal.SY; +import com.android.tools.r8.internal.dk0$$ExternalSyntheticLambda1; +import com.android.tools.r8.shaking.C3877i; +import com.android.tools.r8.shaking.C3912o1; +import java.util.Iterator; +import java.util.ListIterator; +import java.util.Objects; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; +import java.util.function.BiConsumer; +import java.util.function.BiPredicate; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class W { + public static final /* synthetic */ boolean i = true; + public final C0421y a; + public final C1020Tt b; + public final RJ c; + public final C2298lM d; + public final C3661b0 e; + public final ConcurrentHashMap f = new ConcurrentHashMap(); + public final Set g = AbstractC3424xb0.c(); + public final C1682f5 h; + + public W(C0421y c0421y, C1020Tt c1020Tt, RJ rj) { + this.a = c0421y; + this.b = c1020Tt; + this.c = rj; + ((C3877i) c0421y.g()).f(); + this.e = new C3661b0(c0421y); + this.d = C2298lM.a(c0421y.A()); + C3200vB c3200vBM = c0421y.M(); + c3200vBM.getClass(); + this.h = c3200vBM.a(EnumC3471y2.w) ? new C1682f5(c0421y.M()) : null; + } + + public static int b(C0874Ot c0874Ot) { + Iterator
    it = c0874Ot.d.iterator(); + int i2 = 0; + while (it.hasNext()) { + for (AbstractC1076Vw abstractC1076Vw : it.next().k()) { + if (!i && abstractC1076Vw.E1()) { + throw new AssertionError(); + } + if (!abstractC1076Vw.l1() && !(abstractC1076Vw instanceof C3571z4) && (!abstractC1076Vw.L1() || abstractC1076Vw.S().L2().s().size() != 1)) { + if (!abstractC1076Vw.v2()) { + i2++; + } + } + } + } + return i2; + } + + public AbstractC3644zm0 a(A5 a5, A5 a52) { + C0421y c0421y = this.a; + return ((C3877i) c0421y.g()).y.contains(a5.getReference()) ? new Am0(c0421y, a5, a52) : C1711fS.a; + } + + public final void c(A5 a5, A5 a52) { + C1020Tt c1020Tt = this.b; + c1020Tt.a(a5); + G5 g5 = c1020Tt.D; + C0409w2 c0409w2U = a5.getReference(); + if (!F5.h && g5.c.containsKey(c0409w2U)) { + throw new AssertionError(); + } + g5.c.put(c0409w2U, a52); + g5.g.add(c0409w2U); + this.g.add(a5.getReference()); + } + + public final O a(C0874Ot c0874Ot) { + C3200vB c3200vBM = this.a.M(); + if (!c3200vBM.T().b) { + return O.c; + } + A5 a5I = c0874Ot.i(); + if (!a5I.e().n1()) { + if (!a5I.a().f(this.a)) { + C3912o1 c3912o1A = this.a.a(a5I); + if (!c3912o1A.h(c3200vBM) && (!c3912o1A.c(c3200vBM) || !c3912o1A.j)) { + return O.c; + } + if (this.h == null) { + if (!i) { + C3200vB c3200vBM2 = this.a.M(); + c3200vBM2.getClass(); + if (c3200vBM2.a(EnumC3471y2.w)) { + throw new AssertionError(); + } + } + } else { + Iterator
    it = c0874Ot.d.iterator(); + while (it.hasNext()) { + C2824r8 c2824r8I = it.next().i(); + c2824r8I.getClass(); + int i2 = 0; + while (i2 < c2824r8I.size()) { + I2 i22 = (I2) c2824r8I.b.get(i2); + c2824r8I.c.get(i2); + i2++; + com.android.tools.r8.graph.E0 e0D = this.a.d(i22); + if (e0D == null || e0D.b0()) { + if (!this.h.a.contains(i22)) { + return O.c; + } + } + } + } + } + A5 a5I2 = c0874Ot.i(); + C3200vB c3200vBM3 = this.a.M(); + c3200vBM3.getClass(); + if (c3200vBM3.a(EnumC3471y2.w) && a(c0874Ot, a5I2)) { + return O.c; + } + O oA = O.d; + X x = new X(this.a); + for (AbstractC1076Vw abstractC1076Vw : c0874Ot.s()) { + O oA2 = abstractC1076Vw.a(x, a5I2); + N n = oA2.a; + n.getClass(); + N n2 = N.c; + if (n == n2 && abstractC1076Vw.E1()) { + oA2 = O.d; + } + N n3 = oA2.a; + n3.getClass(); + if (n3 == n2) { + return oA2; + } + oA = O.a(oA, oA2, (C0421y) this.a); + } + return oA; + } + } + return O.c; + } + + public final /* synthetic */ boolean b(A5 a5, A5 a52) { + if (!a5.e().N0() && !a5.e().E0().b()) { + return false; + } + a5.c(this.a); + this.b.c(a5); + return true; + } + + public static void b(final C0421y c0421y) { + Iterator it = ((C3877i) c0421y.g()).e().iterator(); + while (it.hasNext()) { + ((D2) it.next()).h(new Consumer() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda3 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + W.a(c0421y, (A5) obj); + } + }, new Predicate() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda2 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return W.a((C0291j1) obj); + } + }); + } + } + + public static boolean a(C0874Ot c0874Ot, A5 a5) { + I2 i2F1 = a5.e().F1(); + Iterator
    it = c0874Ot.d.iterator(); + while (it.hasNext()) { + J5 j5H = it.next().H(); + while (j5H.hasNext()) { + AbstractC1076Vw abstractC1076Vw = (AbstractC1076Vw) j5H.a(new K5$$ExternalSyntheticLambda4()); + if (abstractC1076Vw != null && i2F1.J0() && !((C3161ul0) abstractC1076Vw.c.get(0)).b((Set) null)) { + return true; + } + } + } + return false; + } + + public final void a(A5 a5, C0874Ot c0874Ot, com.android.tools.r8.ir.optimize.info.y yVar, JO jo, Fh0 fh0) { + a(a5, c0874Ot, yVar, jo, fh0, a(jo)); + } + + public final void a(A5 a5, C0874Ot c0874Ot, com.android.tools.r8.ir.optimize.info.y yVar, JO jo, Fh0 fh0, InterfaceC2144jw interfaceC2144jw) { + H hA = a(a5, jo, this.a.M().T().f - b(c0874Ot), interfaceC2144jw); + C2052iw c2052iw = new C2052iw(this.a, a5, c0874Ot, this.c, jo); + if (!i && !C2052iw.g && !c2052iw.f.isEmpty()) { + throw new AssertionError(); + } + a(hA, a5, c0874Ot, yVar, c2052iw, jo, fh0); + } + + public final InterfaceC2144jw a(JO jo) { + final C1351bi c1351bi = new C1351bi(this.a, jo.c()); + return (InterfaceC2144jw) this.a.b(c1351bi, new Function() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda4 + @Override // java.util.function.Function + public final Object apply(Object obj) { + return this.f$0.a(c1351bi, (C1017Tr) obj); + } + }); + } + + public final /* synthetic */ InterfaceC2144jw a(C1351bi c1351bi, C1017Tr c1017Tr) { + return new C1581e10(this.a, c1351bi); + } + + public H a(A5 a5, JO jo, int i2, InterfaceC2144jw interfaceC2144jw) { + return new H(this.a, interfaceC2144jw, a5, jo, i2); + } + + /* JADX WARN: Removed duplicated region for block: B:152:0x0393 */ + /* JADX WARN: Removed duplicated region for block: B:195:0x0116 A[SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:200:0x00d6 A[SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:201:0x0189 A[SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:203:0x0174 A[SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:58:0x014d */ + /* JADX WARN: Removed duplicated region for block: B:59:0x0151 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final void a(com.android.tools.r8.ir.optimize.Y r26, com.android.tools.r8.graph.A5 r27, com.android.tools.r8.internal.C0874Ot r28, com.android.tools.r8.ir.optimize.info.y r29, com.android.tools.r8.internal.C2052iw r30, com.android.tools.r8.internal.JO r31, com.android.tools.r8.internal.Fh0 r32) { + /* + Method dump skipped, instruction units count: 1151 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.W.a(com.android.tools.r8.ir.optimize.Y, com.android.tools.r8.graph.A5, com.android.tools.r8.internal.Ot, com.android.tools.r8.ir.optimize.info.y, com.android.tools.r8.internal.iw, com.android.tools.r8.internal.JO, com.android.tools.r8.internal.Fh0):void"); + } + + public static /* synthetic */ boolean a(H5 h5, H5 h52) { + return h52 == h5; + } + + public final void a(C0874Ot c0874Ot, L5 l5, H5 h5, C3658a c3658a, final Set set, Fh0 fh0) { + H5 h52 = (H5) CC.a((ListIterator) l5); + final Set setC = AbstractC3424xb0.c(); + a(l5, h5, new Consumer() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + W.a(set, setC, (H5) obj); + } + }); + a(c0874Ot, l5, c3658a, setC); + a(l5, h5, C0996Tg.b()); + a(c0874Ot, l5, setC, fh0); + a(l5, h52, C0996Tg.b()); + } + + public static /* synthetic */ void a(Set set, Set set2, H5 h5) { + if (set.contains(h5)) { + return; + } + set2.add(h5); + } + + public final void a(C0874Ot c0874Ot, L5 l5, Set set, Fh0 fh0) { + new C3692q(this.a, 0).a(c0874Ot, l5, new H5$$ExternalSyntheticLambda0(set), fh0); + if (!i && l5.c.hasNext()) { + throw new AssertionError(); + } + } + + public final void a(C0874Ot c0874Ot, L5 l5, C3658a c3658a, Set set) { + G10 g10 = new G10(this.a); + Objects.requireNonNull(set); + g10.a(c0874Ot, l5, c3658a, new H5$$ExternalSyntheticLambda0(set)); + if (!i && l5.c.hasNext()) { + throw new AssertionError(); + } + } + + public static void a(ListIterator listIterator, H5 h5, Consumer consumer) { + H5 h52; + while (listIterator.hasPrevious() && (h52 = (H5) listIterator.previous()) != h5) { + consumer.accept(h52); + } + if (!i && CC.a(listIterator) != h5) { + throw new AssertionError(); + } + } + + public final void a() { + this.f.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda10 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a((D2) obj, (SY) obj2); + } + }); + this.f.clear(); + } + + public final void a(D2 d2, SY sy) { + sy.a(new BiPredicate() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda8 + @Override // java.util.function.BiPredicate + public final boolean test(Object obj, Object obj2) { + return this.f$0.b((A5) obj, (A5) obj2); + } + }); + if (sy.b.isEmpty()) { + return; + } + Set set = (Set) sy.j().map(new dk0$$ExternalSyntheticLambda1()).collect(Collectors.toSet()); + G4 g4V = d2.V(); + g4V.getClass(); + if (!set.isEmpty()) { + g4V.b.a(set); + g4V.c = C0291j1.v; + } + sy.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda9 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.c((A5) obj, (A5) obj2); + } + }); + } + + public static boolean a(C0291j1 c0291j1) { + c0291j1.P0(); + return c0291j1.m.w(); + } + + public final void a(BX bx, Fh0 fh0, ExecutorService executorService) { + BX bxA = bx.a(this.a); + C2298lM c2298lM = this.d; + C0421y c0421y = this.a; + c2298lM.getClass(); + bxA.a.a(c2298lM.c(c0421y.A()).a(this.a, new Predicate() { // from class: com.android.tools.r8.ir.optimize.W$$ExternalSyntheticLambda1 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return ((A5) obj).D().w(); + } + })); + this.d.d.clear(); + this.e.a(bx, fh0, executorService); + } + + public static /* synthetic */ void a(C0421y c0421y, A5 a5) { + if (!i && a5.e().j1() && a5.b(c0421y)) { + throw new AssertionError(); + } + } + + public static void a(C0421y c0421y) { + Iterator it = c0421y.g().e().iterator(); + while (it.hasNext()) { + for (C0291j1 c0291j1 : ((D2) it.next()).C1()) { + if (c0291j1.j1()) { + c0291j1.P0(); + c0291j1.m.A(); + } + } + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/X.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/X.java new file mode 100644 index 000000000000..0085370c6e08 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/X.java @@ -0,0 +1,36 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.AbstractC0410w3; +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC0975So; +import com.android.tools.r8.shaking.C3877i; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class X { + public static final /* synthetic */ boolean b = true; + public final C0421y a; + + public X(C0421y c0421y) { + this.a = c0421y; + } + + public final O a(C0309l1 c0309l1, A5 a5) { + AbstractC0410w3.a aVarL = ((C3877i) this.a.g()).c(c0309l1).l(); + return aVarL == null ? O.c : a(aVarL.b, a5, com.android.tools.r8.graph.F0.a(aVarL.c, aVarL.d)); + } + + public final O a(com.android.tools.r8.graph.E0 e0, A5 a5, com.android.tools.r8.graph.G0 g0) { + if (AbstractC0975So.a(e0, a5, this.a) && AbstractC0975So.a(g0, a5, this.a)) { + I2 i2S = g0.s(); + if (!b && e0 == null) { + throw new AssertionError(); + } + return O.a(O.a(a5, e0.getType(), e0.getAccessFlags(), this.a), O.a(a5, i2S, g0.getAccessFlags(), this.a), (C0421y) this.a); + } + return O.c; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Y.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Y.java new file mode 100644 index 000000000000..b3ec26b0999b --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Y.java @@ -0,0 +1,84 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.S4; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC3644zm0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1631ec; +import com.android.tools.r8.internal.C2052iw; +import com.android.tools.r8.internal.C2867rd; +import com.android.tools.r8.internal.H5; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface Y { + A5 a(A5 a5, AbstractC1308bC abstractC1308bC); + + C2867rd a(AbstractC1308bC abstractC1308bC, C2867rd c2867rd); + + S a(C0874Ot c0874Ot, AbstractC1308bC abstractC1308bC, S4.c cVar, A5 a5, A5 a52, C1631ec c1631ec, C2052iw c2052iw, AbstractC3644zm0 abstractC3644zm0); + + void a(C0874Ot c0874Ot); + + boolean a(); + + /* JADX WARN: Removed duplicated region for block: B:10:0x0048 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + default boolean a(com.android.tools.r8.graph.C0421y r3, com.android.tools.r8.ir.optimize.P r4, com.android.tools.r8.internal.AbstractC1308bC r5, com.android.tools.r8.graph.A5 r6, com.android.tools.r8.graph.A5 r7) { + /* + r2 = this; + boolean r0 = r5.X1() + if (r0 == 0) goto L48 + com.android.tools.r8.internal.cC r0 = r5.d0() + com.android.tools.r8.internal.ul0 r0 = r0.V2() + com.android.tools.r8.internal.vj0 r1 = r0.t() + boolean r1 = r1.w() + if (r1 != 0) goto L1d + com.android.tools.r8.graph.D2 r5 = r6.a() + goto L49 + L1d: + com.android.tools.r8.internal.vj0 r0 = r0.t() + com.android.tools.r8.internal.rd r0 = r0.b() + com.android.tools.r8.internal.rd r5 = r2.a(r5, r0) + com.android.tools.r8.graph.I2 r0 = r6.s() + com.android.tools.r8.graph.y r1 = r2.b() + com.android.tools.r8.internal.vj0 r0 = r0.b(r1) + com.android.tools.r8.internal.rd r0 = r0.b() + com.android.tools.r8.graph.y r1 = r2.b() + boolean r5 = r5.b(r0, r1) + if (r5 != 0) goto L48 + com.android.tools.r8.graph.D2 r5 = r6.a() + goto L49 + L48: + r5 = 0 + L49: + if (r5 == 0) goto L5f + com.android.tools.r8.graph.h r6 = r3.g() + com.android.tools.r8.graph.j r6 = (com.android.tools.r8.graph.C0285j) r6 + com.android.tools.r8.internal.pV r3 = com.android.tools.r8.graph.AbstractC0232e.a(r5, r7, r3, r6) + boolean r3 = r3.b() + if (r3 == 0) goto L5d + r3 = 0 + return r3 + L5d: + r4.a = r5 + L5f: + r3 = 1 + return r3 + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.Y.a(com.android.tools.r8.graph.y, com.android.tools.r8.ir.optimize.P, com.android.tools.r8.internal.bC, com.android.tools.r8.graph.A5, com.android.tools.r8.graph.A5):boolean"); + } + + boolean a(C0874Ot c0874Ot, S4.c cVar, A5 a5, AbstractC3644zm0 abstractC3644zm0); + + boolean a(Q q, C0874Ot c0874Ot, C0874Ot c0874Ot2, AbstractC1308bC abstractC1308bC, H5 h5, AbstractC3644zm0 abstractC3644zm0); + + boolean a(Q q, AbstractC3644zm0 abstractC3644zm0); + + C0421y b(); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Z.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Z.java new file mode 100644 index 000000000000..e77968789be5 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/Z.java @@ -0,0 +1,44 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC2575oO; +import com.android.tools.r8.internal.AbstractC2614oo; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C3161ul0; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class Z extends AbstractC2614oo { + public final com.android.tools.r8.ir.regalloc.f a; + public final AbstractC2575oO.a b; + + public Z(C0874Ot c0874Ot, com.android.tools.r8.ir.regalloc.f fVar) { + this.a = fVar; + this.b = c0874Ot.b; + } + + @Override // com.android.tools.r8.internal.AbstractC2614oo + public final boolean a(Object obj, Object obj2) { + AbstractC1076Vw abstractC1076Vw = (AbstractC1076Vw) obj; + AbstractC1076Vw abstractC1076Vw2 = (AbstractC1076Vw) obj2; + return abstractC1076Vw.a(abstractC1076Vw2, this.a, this.b) && abstractC1076Vw.b().i().equals(abstractC1076Vw2.b().i()); + } + + @Override // com.android.tools.r8.internal.AbstractC2614oo + public final int a(Object obj) { + int iA; + AbstractC1076Vw abstractC1076Vw = (AbstractC1076Vw) obj; + if (abstractC1076Vw.d() != null && abstractC1076Vw.d().T()) { + iA = this.a.a(abstractC1076Vw.d(), abstractC1076Vw.e); + } else { + iA = 0; + } + for (C3161ul0 c3161ul0 : abstractC1076Vw.c) { + iA <<= 4; + if (c3161ul0.T()) { + iA += this.a.a(c3161ul0, abstractC1076Vw.e); + } + } + return abstractC1076Vw.b().i().hashCode() + (iA * 37); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/A.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/A.java new file mode 100644 index 000000000000..01ff062ce8f6 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/A.java @@ -0,0 +1,6 @@ +package com.android.tools.r8.ir.optimize.info; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class A extends B { +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3679a.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3679a.java new file mode 100644 index 000000000000..9a350a87c265 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3679a.java @@ -0,0 +1,26 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.Dk0; + +/* JADX INFO: renamed from: com.android.tools.r8.ir.optimize.info.a, reason: case insensitive filesystem */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class AbstractC3679a { + public C3680b a() { + return null; + } + + public boolean b() { + return this instanceof C3680b; + } + + public B1 a(int i) { + return Dk0.a; + } + + public AbstractC0564Em b(int i) { + return AbstractC0564Em.m(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3683e.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3683e.java new file mode 100644 index 000000000000..f450b4030fd5 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/AbstractC3683e.java @@ -0,0 +1,21 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.B1; + +/* JADX INFO: renamed from: com.android.tools.r8.ir.optimize.info.e, reason: case insensitive filesystem */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class AbstractC3683e implements g { + public abstract boolean e(); + + public abstract B1 f(); + + public abstract AbstractC0564Em g(); + + public abstract int h(); + + public abstract boolean i(); + + public abstract boolean j(); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/B.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/B.java new file mode 100644 index 000000000000..b42d0db04eae --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/B.java @@ -0,0 +1,135 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0575Ew; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.C2037il0; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.ir.optimize.O; +import java.util.BitSet; +import java.util.Set; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class B extends y { + public static final /* synthetic */ boolean c = true; + public static final A b = new A(); + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public void a(C0257g1 c0257g1, int i) { + } + + @Override // com.android.tools.r8.internal.BO + public final void b(C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void c(C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void d(C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void e(C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, O o) { + } + + @Override // com.android.tools.r8.internal.BO + public final void b(C0291j1 c0291j1, BitSet bitSet) { + } + + @Override // com.android.tools.r8.internal.BO + public final void c(A5 a5) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, int i) { + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5, BitSet bitSet) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, BitSet bitSet) { + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5, Jb0 jb0) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, BitSet bitSet) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5) { + } + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, AbstractC0564Em abstractC0564Em) { + } + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, C0421y c0421y, B1 b1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(Set set, C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, C0421y c0421y, B1 b1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, C2037il0 c2037il0) { + if (!c) { + throw new AssertionError(); + } + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0421y c0421y, C0291j1 c0291j1, AbstractC0564Em abstractC0564Em) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, B7 b7) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, InterfaceC2591oc interfaceC2591oc) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, AbstractC0722Jn abstractC0722Jn) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, AbstractC0575Ew abstractC0575Ew) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, Jb0 jb0) { + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C.java new file mode 100644 index 000000000000..6125cf18f9f0 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C.java @@ -0,0 +1,404 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.C0427y5; +import com.android.tools.r8.graph.F0; +import com.android.tools.r8.graph.H0; +import com.android.tools.r8.graph.InterfaceC0434z5; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0575Ew; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.C2037il0; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.ir.optimize.O; +import java.util.BitSet; +import java.util.Set; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class C extends y { + public static final /* synthetic */ boolean c = true; + public static final C b = new C(); + + public static void j(A5 a5) { + Consumer consumer = new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda7 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).R(); + } + }; + if (a5.D().d()) { + consumer.accept(a5.D().a()); + } + } + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, int i) { + } + + @Override // com.android.tools.r8.internal.BO + public final void b(C0291j1 c0291j1) { + c0291j1.Z0().u &= -9; + } + + @Override // com.android.tools.r8.internal.BO + public final void c(C0291j1 c0291j1) { + c0291j1.Z0().u |= 4; + } + + @Override // com.android.tools.r8.internal.BO + public final void d(C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void e(C0291j1 c0291j1) { + c0291j1.Z0().u |= 2; + } + + public final void f(C0291j1 c0291j1) { + c0291j1.Z0().u |= 1; + } + + public final void g(C0291j1 c0291j1) { + Consumer consumer = new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda12 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).J(); + } + }; + c0291j1.P0(); + if (c0291j1.m.d()) { + c0291j1.P0(); + consumer.accept(c0291j1.m.a()); + } + } + + public final void h(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda3 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).P(); + } + }, a5); + } + + public final void i(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda18 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).Q(); + } + }, a5); + } + + public final void k(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda1 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).S(); + } + }, a5); + } + + public final void l(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda15 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).T(); + } + }, a5); + } + + public final void m(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).U(); + } + }, a5); + } + + public final void n(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda5 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).V(); + } + }, a5); + } + + public final void o(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda16 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).W(); + } + }, a5); + } + + public final void p(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda4 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).X(); + } + }, a5); + } + + public final void q(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda6 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).Y(); + } + }, a5); + } + + public final void r(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda19 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).Z(); + } + }, a5); + } + + public final void s(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda11 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).a0(); + } + }, a5); + } + + public final void t(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda8 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).b0(); + } + }, a5); + } + + public static void a(C0257g1 c0257g1) { + v vVar; + synchronized (c0257g1) { + vVar = (v) c0257g1.l.b(); + c0257g1.l = vVar; + } + vVar.b |= 1; + } + + public final void d(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda13 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).I(); + } + }, a5); + } + + @Override // com.android.tools.r8.internal.BO + public final void b(C0291j1 c0291j1, BitSet bitSet) { + c0291j1.Z0().o = bitSet; + } + + @Override // com.android.tools.r8.internal.BO + public final void c(A5 a5) { + a5.e().Z0().u |= 32; + } + + public final void e(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda14 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).K(); + } + }, a5); + } + + public final void f(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda10 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).L(); + } + }, a5); + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5, Jb0 jb0) { + a5.e().Z0().p = jb0; + } + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, AbstractC0564Em abstractC0564Em) { + v vVar; + synchronized (c0257g1) { + vVar = (v) c0257g1.l.b(); + c0257g1.l = vVar; + } + vVar.d = abstractC0564Em; + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5, BitSet bitSet) { + w wVarZ0 = a5.e().Z0(); + wVarZ0.getClass(); + if (!bitSet.isEmpty()) { + wVarZ0.s = bitSet; + } else { + wVarZ0.s = null; + } + } + + public final void g(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda9 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).M(); + } + }, a5); + } + + /* JADX WARN: Multi-variable type inference failed */ + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, C0421y c0421y, B1 b1) { + v vVar; + if (!c) { + InterfaceC0434z5 interfaceC0434z5B = c0257g1.b(c0421y); + if (!y.a) { + c0421y.getClass(); + ((F0) interfaceC0434z5B).f0(); + if (!c0421y.a(((C0427y5) interfaceC0434z5B).O()).a(c0421y, interfaceC0434z5B)) { + throw new AssertionError(); + } + } + } + synchronized (c0257g1) { + vVar = (v) c0257g1.l.b(); + c0257g1.l = vVar; + } + vVar.a(b1, c0257g1); + } + + @Override // com.android.tools.r8.internal.BO + public void b(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda17 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).O(); + } + }, a5); + } + + public static void b(Consumer consumer, A5 a5) { + if (a5.D().d()) { + consumer.accept(a5.D().a()); + } + } + + @Override // com.android.tools.r8.internal.BO + public final void a(Set set, C0291j1 c0291j1) { + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, int i) { + c0291j1.Z0().b(i); + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, C0421y c0421y, B1 b1) { + c0291j1.Z0().a(b1, c0291j1); + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, C2037il0 c2037il0) { + if (!c) { + throw new AssertionError(); + } + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0421y c0421y, C0291j1 c0291j1, AbstractC0564Em abstractC0564Em) { + c0291j1.Z0().a(c0421y, c0291j1, abstractC0564Em); + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, O o) { + c0291j1.a(o); + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, B7 b7) { + a5.e().Z0().l = b7; + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, InterfaceC2591oc interfaceC2591oc) { + } + + public static void a(H0 h0) { + h0.e().Z0().h = true; + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, AbstractC0722Jn abstractC0722Jn) { + a5.e().Z0().a(abstractC0722Jn); + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, AbstractC0575Ew abstractC0575Ew) { + c0291j1.Z0().m = abstractC0575Ew; + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1) { + c0291j1.Z0().u |= 128; + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, BitSet bitSet) { + c0291j1.Z0().n = bitSet; + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, Jb0 jb0) { + a5.e().Z0().q = jb0; + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5, BitSet bitSet) { + a5.e().Z0().a(bitSet); + } + + public static void a(Consumer consumer, A5 a5) { + if (a5.D().x()) { + w wVarZ0 = a5.e().Z0(); + BitSet bitSet = (BitSet) wVarZ0.t.clone(); + consumer.accept(bitSet); + if (bitSet == null || bitSet.isEmpty()) { + bitSet = null; + } + wVarZ0.t = bitSet; + } + } + + @Override // com.android.tools.r8.internal.BO + public final void a(A5 a5) { + b(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.C$$ExternalSyntheticLambda2 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + ((w) obj).N(); + } + }, a5); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3680b.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3680b.java new file mode 100644 index 000000000000..7a610c8f33a6 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3680b.java @@ -0,0 +1,169 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC2627oz; +import com.android.tools.r8.internal.AbstractC2649pA; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.C1105Wz; +import com.android.tools.r8.internal.C1284az; +import com.android.tools.r8.internal.Dk0; +import com.android.tools.r8.internal.InterfaceC1131Xx; +import com.android.tools.r8.internal.InterfaceC2450mz; +import com.android.tools.r8.internal.InterfaceC3508yU; +import com.android.tools.r8.internal.SR$$ExternalSyntheticLambda0; +import java.util.Collection; +import java.util.Objects; +import java.util.function.Predicate; + +/* JADX INFO: renamed from: com.android.tools.r8.ir.optimize.info.b, reason: case insensitive filesystem */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C3680b extends AbstractC3679a { + public static final /* synthetic */ boolean d = true; + public final int a; + public final InterfaceC2450mz b; + public final InterfaceC2450mz c; + + public C3680b(int i, InterfaceC2450mz interfaceC2450mz, InterfaceC2450mz interfaceC2450mz2) { + boolean z = d; + if (!z && i <= 0) { + throw new AssertionError(); + } + if (!z && !interfaceC2450mz2.values().stream().noneMatch(new SR$$ExternalSyntheticLambda0())) { + throw new AssertionError(); + } + if (!z && !interfaceC2450mz.values().stream().noneMatch(new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.b$$ExternalSyntheticLambda0 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return ((AbstractC0564Em) obj).l(); + } + })) { + throw new AssertionError(); + } + this.a = i; + this.b = (InterfaceC2450mz) Objects.requireNonNull(interfaceC2450mz); + this.c = (InterfaceC2450mz) Objects.requireNonNull(interfaceC2450mz2); + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3679a + public final C3680b a() { + return this; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3679a + public final AbstractC0564Em b(int i) { + if (d || (i >= 0 && i < this.a)) { + return (AbstractC0564Em) this.b.getOrDefault(Integer.valueOf(i), AbstractC0564Em.m()); + } + throw new AssertionError(); + } + + public final boolean equals(Object obj) { + if (!(obj instanceof C3680b)) { + return false; + } + C3680b c3680b = (C3680b) obj; + return this.b.equals(c3680b.b) && this.c.equals(c3680b.c); + } + + public final int hashCode() { + return System.identityHashCode(this.c) + (System.identityHashCode(this.b) * 7); + } + + public final String toString() { + String str; + String string = this.b.toString(); + if (this.c == null) { + str = ""; + } else { + str = System.lineSeparator() + this.c; + } + return string + str; + } + + public final AbstractC3679a a(com.android.tools.r8.graph.proto.j jVar) { + Collection collectionKeySet; + if (jVar.g()) { + return this; + } + com.android.tools.r8.graph.proto.c cVar = jVar.b; + if (cVar.c()) { + if (!jVar.e()) { + return this; + } + return new C3680b(jVar.a.size() + this.a, this.b, this.c); + } + if (!d) { + int iA = com.android.tools.r8.graph.proto.c.a(Integer.MAX_VALUE, cVar.a); + if (iA == 0) { + collectionKeySet = AbstractC2649pA.a; + } else if (iA == cVar.a.size()) { + collectionKeySet = cVar.a.keySet(); + } else { + C1105Wz c1105Wz = new C1105Wz(iA); + InterfaceC3508yU it = cVar.a.b().iterator(); + while (it.hasNext()) { + InterfaceC1131Xx interfaceC1131Xx = (InterfaceC1131Xx) it.next(); + if (((com.android.tools.r8.graph.proto.b) interfaceC1131Xx.getValue()).c()) { + c1105Wz.add(interfaceC1131Xx.a()); + } + } + collectionKeySet = c1105Wz; + } + if (!collectionKeySet.stream().allMatch(new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.b$$ExternalSyntheticLambda1 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return this.f$0.a((Integer) obj); + } + })) { + throw new AssertionError(); + } + } + int iA2 = this.a - com.android.tools.r8.graph.proto.c.a(Integer.MAX_VALUE, cVar.a); + if (iA2 == 0) { + return E.a; + } + InterfaceC2450mz c1284az = new C1284az(iA2); + InterfaceC2450mz c1284az2 = new C1284az(iA2); + int i = 0; + for (int i2 = 0; i2 < this.a; i2++) { + if (!cVar.a(i2).c()) { + com.android.tools.r8.graph.proto.k kVarB = cVar.a(i2).b(); + if (kVarB == null || !kVarB.g().U0() || !kVarB.f().T0()) { + B1 b1 = (B1) this.c.getOrDefault(Integer.valueOf(i2), Dk0.a); + if (!b1.isUnknown()) { + c1284az.a(i, b1); + } + AbstractC0564Em abstractC0564Em = (AbstractC0564Em) this.b.get(i2); + if (abstractC0564Em != null) { + c1284az2.a(i, abstractC0564Em); + } + } + i++; + } + } + int size = jVar.a.size() + iA2; + if (c1284az.isEmpty() && c1284az2.isEmpty()) { + return E.a; + } + if (c1284az2.isEmpty()) { + c1284az2 = AbstractC2627oz.a; + } + if (c1284az.isEmpty()) { + c1284az = AbstractC2627oz.a; + } + return new C3680b(size, c1284az2, c1284az); + } + + public final /* synthetic */ boolean a(Integer num) { + return num.intValue() < this.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3679a + public final B1 a(int i) { + if (d || (i >= 0 && i < this.a)) { + return (B1) this.c.getOrDefault(Integer.valueOf(i), Dk0.a); + } + throw new AssertionError(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3681c.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3681c.java new file mode 100644 index 000000000000..5e79d90c5bee --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3681c.java @@ -0,0 +1,47 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.Dk0; + +/* JADX INFO: renamed from: com.android.tools.r8.ir.optimize.info.c, reason: case insensitive filesystem */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C3681c extends AbstractC3683e { + public static final C3681c a = new C3681c(); + + @Override // com.android.tools.r8.ir.optimize.info.g + public final g b() { + return new v(); + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final boolean e() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final B1 f() { + return Dk0.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final AbstractC0564Em g() { + return AbstractC0564Em.m(); + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final int h() { + return 0; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final boolean i() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final boolean j() { + return false; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3682d.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3682d.java new file mode 100644 index 000000000000..c647ec7f8e07 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/C3682d.java @@ -0,0 +1,192 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0548Dw; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC2670pV; +import com.android.tools.r8.internal.AbstractC2990sv; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.C1395c2; +import com.android.tools.r8.internal.C1460ci; +import com.android.tools.r8.internal.C2700pk0; +import com.android.tools.r8.internal.C2789qk0; +import com.android.tools.r8.internal.Dk0; +import com.android.tools.r8.internal.FQ; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.internal.WB; +import com.android.tools.r8.internal.Z40; +import java.util.BitSet; +import java.util.Set; + +/* JADX INFO: renamed from: com.android.tools.r8.ir.optimize.info.d, reason: case insensitive filesystem */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C3682d extends h { + public static final C3682d b = new C3682d(); + public static final Z40 c; + public static final Dk0 d; + + static { + int i = AbstractC2990sv.c; + c = Z40.j; + d = Dk0.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean A() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC2670pV B() { + return AbstractC2670pV.c; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean C() { + return true; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean D() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean E() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean F() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean G() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0548Dw a(WB wb) { + return C1460ci.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final g b() { + return new w(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean e() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean f() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean g() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final com.android.tools.r8.internal.r h() { + return C2700pk0.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final B1 i() { + return d; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC3679a j() { + return E.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final B7 k() { + return null; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final InterfaceC2591oc l() { + return C1395c2.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0548Dw m() { + return C1460ci.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0564Em n() { + return AbstractC0564Em.m(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0722Jn o() { + return C2789qk0.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final Set p() { + return c; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final int q() { + return 0; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet r() { + return null; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet s() { + return null; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final int t() { + return -1; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final Jb0 u() { + return FQ.b; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet v() { + return null; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean w() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean y() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean z() { + return false; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean a(AbstractC1308bC abstractC1308bC) { + return true; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/D.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/D.java new file mode 100644 index 000000000000..3370463efe94 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/D.java @@ -0,0 +1,62 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.K; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0285j; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC2670pV; +import com.android.tools.r8.internal.C1092Wm; +import com.android.tools.r8.internal.C1395c2; +import com.android.tools.r8.internal.C2700pk0; +import com.android.tools.r8.internal.C2789qk0; +import com.android.tools.r8.internal.Dk0; +import com.android.tools.r8.internal.FQ; +import java.util.Iterator; +import java.util.concurrent.ExecutorService; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class D { + public static void a(C0421y c0421y, ExecutorService executorService) { + K.a(c0421y, ((C0285j) c0421y.g()).d(), new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.D$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + D.a((D2) obj); + } + }, executorService); + } + + public static void a(D2 d2) { + Iterator it = d2.M0().iterator(); + while (it.hasNext()) { + v vVarC = it.next().l.c(); + if (vVarC != null) { + vVarC.a = Dk0.a; + vVarC.d = AbstractC0564Em.m(); + } + } + for (C0291j1 c0291j1 : d2.C1()) { + c0291j1.P0(); + w wVarA = c0291j1.m.a(); + if (wVarA != null) { + wVarA.f = Dk0.a; + E e = E.a; + wVarA.b = e; + wVarA.a(AbstractC0564Em.m()); + wVarA.c = C3682d.c; + wVarA.m = C1092Wm.a; + FQ fq = FQ.b; + wVarA.p = fq; + wVarA.q = fq; + if (wVarA.b == e && wVarA.d == -1 && wVarA.e == C2700pk0.a && wVarA.f == C3682d.d && wVarA.g == C1395c2.a && !wVarA.h && wVarA.i == C2789qk0.a && wVarA.j == AbstractC0564Em.m() && wVarA.v == 3 && wVarA.k == AbstractC2670pV.c && wVarA.l == null && wVarA.m.c() && wVarA.n == null && wVarA.o == null && wVarA.p == fq && wVarA.q == fq && wVarA.r == 0 && wVarA.s == null && wVarA.t == null && wVarA.u == w.w) { + c0291j1.P0(); + c0291j1.m = C3682d.b; + } + } + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/E.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/E.java new file mode 100644 index 000000000000..067b200fe31c --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/E.java @@ -0,0 +1,7 @@ +package com.android.tools.r8.ir.optimize.info; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class E extends AbstractC3679a { + public static final E a = new E(); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/f.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/f.java new file mode 100644 index 000000000000..a3dcb39dc762 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/f.java @@ -0,0 +1,7 @@ +package com.android.tools.r8.ir.optimize.info; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class f extends C { + public static final f d = new f(); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/g.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/g.java new file mode 100644 index 000000000000..4b2d465e35b6 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/g.java @@ -0,0 +1,19 @@ +package com.android.tools.r8.ir.optimize.info; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface g { + default w a() { + return null; + } + + g b(); + + default v c() { + return null; + } + + default boolean d() { + return this instanceof v; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/h.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/h.java new file mode 100644 index 000000000000..17ef0bdfd517 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/h.java @@ -0,0 +1,87 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0548Dw; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC2670pV; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.internal.WB; +import java.util.BitSet; +import java.util.Set; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class h implements g { + public static final /* synthetic */ boolean a = true; + + public abstract boolean A(); + + public abstract AbstractC2670pV B(); + + public abstract boolean C(); + + public abstract boolean D(); + + public abstract boolean E(); + + public abstract boolean F(); + + public abstract boolean G(); + + public abstract AbstractC0548Dw a(WB wb); + + public abstract boolean a(AbstractC1308bC abstractC1308bC); + + public abstract boolean e(); + + public abstract boolean f(); + + public abstract boolean g(); + + public abstract com.android.tools.r8.internal.r h(); + + public abstract B1 i(); + + public abstract AbstractC3679a j(); + + public abstract B7 k(); + + public abstract InterfaceC2591oc l(); + + public abstract AbstractC0548Dw m(); + + public abstract AbstractC0564Em n(); + + public abstract AbstractC0722Jn o(); + + public abstract Set p(); + + public abstract int q(); + + public abstract BitSet r(); + + public abstract BitSet s(); + + public abstract int t(); + + public abstract Jb0 u(); + + public abstract BitSet v(); + + public abstract boolean w(); + + public final boolean x() { + if (a || v() == null || !v().isEmpty()) { + return v() != null; + } + throw new AssertionError(); + } + + public abstract boolean y(); + + public abstract boolean z(); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/i.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/i.java new file mode 100644 index 000000000000..55f406d4ad54 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/i.java @@ -0,0 +1,15 @@ +package com.android.tools.r8.ir.optimize.info; + +/* JADX WARN: $VALUES field not found */ +/* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */ +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class i { + public static final i b = new i(0, "DESIRED_EFFECT"); + public static final i c = new i(1, "CONDITIONAL_EFFECT"); + public static final i d = new i(2, "OTHER_EFFECT"); + public static final i e = new i(3, "NO_EFFECT"); + + public i(int i, String str) { + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/j.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/j.java new file mode 100644 index 000000000000..03661c45cf3e --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/j.java @@ -0,0 +1,375 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.A4; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC2215kc; +import com.android.tools.r8.internal.AbstractC3250vj0; +import com.android.tools.r8.internal.AbstractC3424xb0; +import com.android.tools.r8.internal.AbstractC3650zs; +import com.android.tools.r8.internal.C0580Fb; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C1020Tt; +import com.android.tools.r8.internal.C1397c3; +import com.android.tools.r8.internal.C2384mC; +import com.android.tools.r8.internal.C2435mm; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3200vB; +import com.android.tools.r8.internal.C3395xC; +import com.android.tools.r8.internal.El0$$ExternalSyntheticLambda3; +import com.android.tools.r8.internal.EnumC2621ou; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.HA; +import com.android.tools.r8.internal.HC; +import com.android.tools.r8.internal.InterfaceC1102Ww; +import com.android.tools.r8.internal.J5; +import com.android.tools.r8.internal.OC; +import com.android.tools.r8.internal.PX; +import com.android.tools.r8.kotlin.C3726d; +import com.android.tools.r8.shaking.C3877i; +import java.util.ArrayDeque; +import java.util.Iterator; +import java.util.Set; +import java.util.function.BiFunction; +import java.util.function.Predicate; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class j { + public static final /* synthetic */ boolean e = true; + public final C0421y a; + public final C0580Fb b; + public final B1 c; + public final C3200vB d; + + public j(C0421y c0421y, C1020Tt c1020Tt) { + this.a = c0421y; + this.b = !c0421y.M().Z0 ? new C0580Fb(c0421y, c1020Tt) : null; + this.c = c0421y.a(); + this.d = c0421y.M(); + } + + public static boolean a(C3161ul0 c3161ul0, C3161ul0 c3161ul02) { + return (c3161ul0.l() && c3161ul02.A()) || c3161ul0.a(A4.a, PX.c) == c3161ul02; + } + + public static /* synthetic */ boolean b(D2 d2) { + return true; + } + + public final boolean a(final C0874Ot c0874Ot, final C3161ul0 c3161ul0) { + i iVar; + BiFunction biFunction = new BiFunction() { // from class: com.android.tools.r8.ir.optimize.info.j$$ExternalSyntheticLambda2 + @Override // java.util.function.BiFunction + public final Object apply(Object obj, Object obj2) { + return this.f$0.a(c3161ul0, c0874Ot, (AbstractC1076Vw) obj, (InterfaceC1102Ww) obj2); + } + }; + int iA = c0874Ot.A(); + try { + ArrayDeque arrayDeque = new ArrayDeque(); + H5 h5J = c0874Ot.j(); + arrayDeque.add(h5J); + h5J.b(iA); + while (!arrayDeque.isEmpty()) { + H5 h5 = (H5) arrayDeque.poll(); + if (!e && !h5.a(iA)) { + throw new AssertionError(); + } + i iVar2 = i.e; + J5 j5H = h5.H(); + while (true) { + iVar = i.e; + if (iVar2 != iVar || !j5H.hasNext()) { + break; + } + iVar2 = (i) biFunction.apply(j5H.next(), j5H); + } + if (iVar2 != i.d) { + if (iVar2 != i.b) { + if (iVar2 == i.c) { + boolean z = e; + if (!z && h5.n().isEmpty()) { + throw new AssertionError(); + } + AbstractC1076Vw last = h5.k().getLast(); + if (!z && !last.M1()) { + throw new AssertionError(); + } + H5 h5B = last.T().b(0); + if (!h5B.a(iA)) { + arrayDeque.add(h5B); + h5B.b(iA); + } + } else { + boolean z2 = e; + if (!z2 && iVar2 != iVar) { + throw new AssertionError(); + } + if (h5.n().isEmpty()) { + AbstractC1076Vw last2 = h5.k().getLast(); + if (!z2 && !last2.v2() && !last2.C2()) { + throw new AssertionError(); + } + } else { + for (H5 h52 : h5.t()) { + if (!h52.a(iA)) { + arrayDeque.add(h52); + h52.b(iA); + } + } + } + } + } + } + return false; + } + c0874Ot.a(iA); + return true; + } finally { + c0874Ot.a(iA); + } + } + + public final i a(C3161ul0 c3161ul0, C0874Ot c0874Ot, AbstractC1076Vw abstractC1076Vw, InterfaceC1102Ww interfaceC1102Ww) { + AbstractC1076Vw abstractC1076VwM; + H5 h5B = abstractC1076Vw.b(); + if (!h5B.x() && a(abstractC1076Vw, c3161ul0)) { + return i.c; + } + if (abstractC1076Vw.a2()) { + C2384mC c2384mCG0 = abstractC1076Vw.g0(); + C0421y c0421y = this.a; + if (!c0421y.M().n1.a) { + C3726d c3726d = c0421y.a().J4.c; + AbstractC3650zs abstractC3650zsA = c0421y.A(); + C0409w2 c0409w2U2 = c2384mCG0.U2(); + abstractC3650zsA.getClass(); + C0409w2 c0409w2A = abstractC3650zsA.a(AbstractC3650zs.g(), c0409w2U2); + if ((c0409w2A.d(c3726d.c) || c0409w2A.d(c3726d.d)) && c2384mCG0.b(0) == c3161ul0 && c0409w2A.w0().D0().startsWith("kotlin")) { + return i.b; + } + } + C0421y c0421y2 = this.a; + if (!c0421y2.M().n1.a) { + C3726d c3726d2 = c0421y2.a().J4.c; + AbstractC3650zs abstractC3650zsA2 = c0421y2.A(); + C0409w2 c0409w2U22 = c2384mCG0.U2(); + abstractC3650zsA2.getClass(); + C0409w2 c0409w2A2 = abstractC3650zsA2.a(AbstractC3650zs.g(), c0409w2U22); + if ((c0409w2A2.d(c3726d2.a) || c0409w2A2.d(c3726d2.b)) && c0409w2A2.w0().D0().startsWith("kotlin")) { + Iterator
    it = h5B.s().iterator(); + while (it.hasNext()) { + if (a(it.next().h(), c3161ul0)) { + return i.b; + } + } + return i.e; + } + } + } + B1 b1A = this.a.a(); + if (abstractC1076Vw.o2() && abstractC1076Vw.u0().i == b1A.v3 && (abstractC1076VwM = interfaceC1102Ww.m()) != null && abstractC1076VwM.U1() && abstractC1076VwM.a0().U2() == b1A.F4.a) { + interfaceC1102Ww.next(); + return i.e; + } + if (abstractC1076Vw.a(this.a, c0874Ot.i(), c3161ul0)) { + if (!h5B.x()) { + return i.b; + } + } else if (abstractC1076Vw.b(this.a, c0874Ot.i())) { + if (abstractC1076Vw.B1() && !abstractC1076Vw.a(this.a, c0874Ot.i())) { + return i.e; + } + return i.d; + } + return i.e; + } + + public static boolean a(AbstractC1076Vw abstractC1076Vw, C3161ul0 c3161ul0) { + if (abstractC1076Vw.M1() && abstractC1076Vw.T().P2() && ((C3161ul0) abstractC1076Vw.c.get(0)).equals(c3161ul0)) { + return abstractC1076Vw.T().j == EnumC2621ou.b || abstractC1076Vw.T().j == EnumC2621ou.g; + } + return false; + } + + public final void a(y yVar, C0291j1 c0291j1, C0874Ot c0874Ot) { + boolean z = e; + if (!z && c0291j1.g.M()) { + throw new AssertionError(); + } + if (this.d.H && !((C3877i) this.a.g()).w.containsKey(c0291j1.getReference())) { + A5 a5I = c0874Ot.i(); + if (c0291j1.n1()) { + int iA = AbstractC2215kc.a(this.a, c0874Ot); + if (iA == 3) { + yVar.b(c0291j1); + yVar.e(c0291j1); + return; + } + if (iA != 1) { + yVar.e(c0291j1); + return; + } else { + if (z || this.d.Z0 || this.a.y().c()) { + return; + } + this.a.y().a(a5I.a(), new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.j$$ExternalSyntheticLambda3 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return this.f$0.a((D2) obj); + } + }, new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.j$$ExternalSyntheticLambda4 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return j.b((D2) obj); + } + }); + return; + } + } + if (c0291j1.A1()) { + return; + } + if (c0291j1.r1()) { + D2 d2A = a5I.a(); + if (!d2A.isInterface()) { + B1 b1A = this.a.a(); + C0291j1 c0291j1S = ((C3877i) this.a.g()).d(d2A, this.a.a().p4.g).s(); + if (c0291j1S != null && c0291j1S.getReference() != b1A.B4.l && c0291j1S.getReference() != b1A.p4.g) { + return; + } + } + } + for (AbstractC1076Vw abstractC1076Vw : c0874Ot.s()) { + if (abstractC1076Vw.a(this.a.a()) && abstractC1076Vw.a0().V2().i().c(new El0$$ExternalSyntheticLambda3())) { + if (abstractC1076Vw.c(this.a, a5I)) { + return; + } + } else if (abstractC1076Vw.b(this.a, a5I)) { + return; + } + } + yVar.b(c0291j1); + } + } + + public final boolean a(D2 d2) { + C3877i c3877i = (C3877i) this.a.g(); + I2 type = d2.getType(); + if (!C3877i.J) { + c3877i.getClass(); + if (!type.M0()) { + throw new AssertionError(); + } + } + D2 d2B = D2.b(c3877i.d(type)); + if (d2B != null) { + C3395xC c3395xCI1 = d2B.I1(); + HC hcA = OC.a(c3395xCI1.b.iterator(), c3395xCI1.c); + while (hcA.b.hasNext()) { + A5 a5 = (A5) hcA.a(hcA.b.next()); + if (a5.e().r1() && c3877i.a(a5)) { + return true; + } + } + } + return false; + } + + public final boolean a(C0874Ot c0874Ot, C3161ul0 c3161ul0, C2435mm c2435mm, Set set) { + if (!e && !c3161ul0.t().I()) { + throw new AssertionError(); + } + if (c3161ul0.l) { + return true; + } + Set setC = AbstractC3424xb0.c(); + for (final AbstractC1076Vw abstractC1076Vw : c3161ul0.c()) { + if (abstractC1076Vw.t1()) { + if (!e && abstractC1076Vw.b().x() && abstractC1076Vw.b().k().stream().filter(new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.j$$ExternalSyntheticLambda1 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return j.a(abstractC1076Vw, (AbstractC1076Vw) obj); + } + }).findFirst().get() != abstractC1076Vw) { + throw new AssertionError(); + } + setC.add(abstractC1076Vw.b()); + } else if (abstractC1076Vw.a(this.a, c0874Ot.i(), c3161ul0)) { + if (abstractC1076Vw.b().x()) { + setC.addAll(abstractC1076Vw.b().n()); + } else { + setC.add(abstractC1076Vw.b()); + } + } else if (abstractC1076Vw.M1() && abstractC1076Vw.T().P2() && (abstractC1076Vw.T().j == EnumC2621ou.b || abstractC1076Vw.T().j == EnumC2621ou.g)) { + setC.add(abstractC1076Vw.T().S2()); + } + } + if (setC.isEmpty()) { + return false; + } + Iterator it = set.iterator(); + while (it.hasNext()) { + H5 h5 = (H5) it.next(); + Iterator it2 = setC.iterator(); + while (true) { + if (it2.hasNext()) { + if (c2435mm.a(h5, (H5) it2.next())) { + break; + } + } else { + Set setC2 = AbstractC3424xb0.c(); + ArrayDeque arrayDeque = new ArrayDeque(h5.s()); + while (!arrayDeque.isEmpty()) { + H5 h52 = (H5) arrayDeque.poll(); + if (h52 != c0874Ot.j()) { + if (!setC2.add(h52)) { + if (arrayDeque.isEmpty()) { + } + } else { + Iterator it3 = setC.iterator(); + while (true) { + if (it3.hasNext()) { + if (c2435mm.a(h52, (H5) it3.next())) { + break; + } + } else { + arrayDeque.addAll(h52.s()); + break; + } + } + } + } + return false; + } + if (!e && !arrayDeque.isEmpty()) { + throw new AssertionError(); + } + } + } + } + return true; + } + + public static /* synthetic */ boolean a(AbstractC1076Vw abstractC1076Vw, AbstractC1076Vw abstractC1076Vw2) { + return abstractC1076Vw2 == abstractC1076Vw || abstractC1076Vw2.i(); + } + + public static boolean a(C1397c3 c1397c3) { + AbstractC3250vj0 abstractC3250vj0A = c1397c3.a(); + abstractC3250vj0A.getClass(); + return (abstractC3250vj0A instanceof HA) && c1397c3.d().b(new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.j$$ExternalSyntheticLambda0 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return ((AbstractC1076Vw) obj).k1(); + } + }); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/k.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/k.java new file mode 100644 index 000000000000..84c526872d2c --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/k.java @@ -0,0 +1,27 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.Dk0; +import java.util.BitSet; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class k { + public B1 a = Dk0.a; + public AbstractC0564Em b = AbstractC0564Em.m(); + public boolean c = true; + public boolean d = false; + public BitSet e = null; + public BitSet f = null; + public int g = -1; + public boolean h = false; + + public final k a(boolean z, Consumer consumer) { + if (z) { + consumer.accept(this); + } + return this; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/l.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/l.java new file mode 100644 index 000000000000..e18654cb7bc8 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/l.java @@ -0,0 +1,219 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.AbstractC0548Dw; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC2670pV; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.C2700pk0; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.internal.Nk0; +import com.android.tools.r8.internal.WB; +import java.util.BitSet; +import java.util.Set; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class l extends h { + public static final /* synthetic */ int j = 0; + public final B1 b; + public final AbstractC0564Em c; + public final boolean d; + public final boolean e; + public final BitSet f; + public final BitSet g; + public final int h; + public final boolean i; + + public l(B1 b1, AbstractC0564Em abstractC0564Em, boolean z, boolean z2, BitSet bitSet, BitSet bitSet2, int i, boolean z3) { + this.b = b1; + this.c = abstractC0564Em; + this.d = z; + this.e = z2; + this.f = bitSet; + this.g = bitSet2; + this.h = i; + this.i = z3; + } + + public static h a(final w wVar) { + k kVar = new k(); + kVar.a = wVar.f; + kVar.b = wVar.j; + kVar.c = wVar.a(8); + kVar.d = wVar.a(32); + kVar.e = wVar.o; + kVar.f = wVar.n; + k kVarA = kVar.a(wVar.G(), new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.l$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + l.a(wVar, (k) obj); + } + }); + kVarA.h = wVar.a(16); + return (kVarA.b.l() && kVarA.a.isUnknown() && kVarA.g < 0 && kVarA.e == null && kVarA.f == null && kVarA.c && !kVarA.d && !kVarA.h) ? C3682d.b : new l(kVarA.a, kVarA.b, kVarA.c, kVarA.d, kVarA.e, kVarA.f, kVarA.g, kVarA.h); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean A() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC2670pV B() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean C() { + return this.d; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean D() { + return this.e; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean E() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean F() { + return this.i; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean G() { + return this.h >= 0; + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final g b() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean e() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean f() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean g() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final com.android.tools.r8.internal.r h() { + return C2700pk0.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final B1 i() { + return this.b; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC3679a j() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final B7 k() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final InterfaceC2591oc l() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0548Dw m() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0564Em n() { + return this.c; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0722Jn o() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final Set p() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final int q() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet r() { + return this.f; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet s() { + return this.g; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final int t() { + return this.h; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final Jb0 u() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet v() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean w() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean y() { + throw new Nk0(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean z() { + throw new Nk0(); + } + + public static void a(h hVar, k kVar) { + kVar.g = hVar.t(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean a(AbstractC1308bC abstractC1308bC) { + return this.d; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0548Dw a(WB wb) { + throw new Nk0(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/m.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/m.java new file mode 100644 index 000000000000..4f97b14ab749 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/m.java @@ -0,0 +1,19 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.internal.C0945Rl; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class m extends o { + public static final m b = new m(C0945Rl.c); + public final C0945Rl a; + + public m(C0945Rl c0945Rl) { + this.a = c0945Rl; + } + + @Override // com.android.tools.r8.ir.optimize.info.o + public final m a() { + return this; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/n.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/n.java new file mode 100644 index 000000000000..a94e6de0cd25 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/n.java @@ -0,0 +1,200 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.B2; +import com.android.tools.r8.graph.C0285j; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.graph.H0; +import com.android.tools.r8.graph.S4; +import com.android.tools.r8.graph.V3; +import com.android.tools.r8.internal.AbstractC3247vi; +import com.android.tools.r8.internal.C0918Ql; +import com.android.tools.r8.internal.C0945Rl; +import com.android.tools.r8.internal.HX; +import com.android.tools.r8.internal.JM; +import com.android.tools.r8.internal.KX; +import com.android.tools.r8.internal.PX; +import com.android.tools.r8.shaking.C3877i; +import java.util.HashMap; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.function.Consumer; +import java.util.function.Predicate; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class n extends AbstractC3247vi { + public static final /* synthetic */ boolean h = true; + public final r f; + public final IdentityHashMap g; + + public n(C0421y c0421y, r rVar, V3 v3) { + super(c0421y, v3); + this.g = new IdentityHashMap(); + this.f = rVar; + } + + public final void a(m mVar, D2 d2) { + mVar.a.a(((o) this.g.getOrDefault(d2, m.b)).a().a); + for (C0291j1 c0291j1 : d2.G1()) { + if (!c0291j1.p1()) { + if (!c0291j1.l1()) { + c0291j1.P0(); + h hVar = c0291j1.m; + hVar.getClass(); + if (!(hVar instanceof C3682d)) { + } + } + C0945Rl c0945Rl = mVar.a; + c0945Rl.getClass(); + c0945Rl.a(c0291j1.getReference()); + } + } + } + + @Override // com.android.tools.r8.internal.AbstractC3247vi + public final void j(final D2 d2) { + final m mVarA = ((o) JM.a(this.g, d2, m.b)).a(); + final p pVar = new p(new C0918Ql(new HashMap())); + a(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.n$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(pVar, d2, mVarA, (D2) obj); + } + }, d2); + if (((C3877i) this.a.g()).t.b(d2)) { + Iterator it = d2.G1().iterator(); + while (it.hasNext()) { + pVar.b(this.a, it.next().h1(), C3682d.b); + } + } else { + for (C0291j1 c0291j1 : d2.G1()) { + if (!this.a.t().a(d2, c0291j1).e(this.a.M())) { + if (!h && !c0291j1.l1()) { + c0291j1.P0(); + h hVar = c0291j1.m; + hVar.getClass(); + if (!(hVar instanceof C3682d)) { + c0291j1.P0(); + if (!c0291j1.m.E()) { + throw new AssertionError(); + } + } + } + pVar.b(this.a, c0291j1.h1(), C3682d.b); + } else if (!c0291j1.l1()) { + C0421y c0421y = this.a; + B2 b2H1 = c0291j1.h1(); + c0291j1.P0(); + pVar.b(c0421y, b2H1, c0291j1.m); + } + } + } + if (!d2.f.f()) { + for (C0291j1 c0291j12 : d2.l(new KX(new HX() { // from class: com.android.tools.r8.ir.optimize.info.n$$ExternalSyntheticLambda1 + @Override // com.android.tools.r8.internal.HX + public final boolean apply(Object obj) { + return ((C0291j1) obj).p1(); + } + }))) { + C0918Ql c0918Ql = pVar.a; + C3682d c3682d = C3682d.b; + h hVarA = (h) c0918Ql.a(c0291j12); + if (hVarA.d()) { + hVarA = l.a(hVarA.a()); + } else if (!p.c && !(hVarA instanceof C3682d) && !(hVarA instanceof l)) { + throw new AssertionError(); + } + if (!h && !(hVarA instanceof C3682d) && !(hVarA instanceof l)) { + throw new AssertionError(); + } + r rVar = this.f; + C0409w2 reference = c0291j12.getReference(); + if (r.b) { + rVar.getClass(); + } else if (rVar.a.containsKey(reference)) { + throw new AssertionError(); + } + if (!(hVarA instanceof C3682d)) { + rVar.a.put(reference, hVarA); + } + } + } + pVar.a.b.keySet().removeIf(new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.n$$ExternalSyntheticLambda2 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return n.a(mVarA, (B2) obj); + } + }); + if (pVar.a.b.isEmpty()) { + return; + } + this.g.put(d2, pVar); + } + + @Override // com.android.tools.r8.internal.AbstractC3247vi + public final void l(D2 d2) { + HashSet hashSet = new HashSet(); + final m mVar = new m(new C0945Rl(hashSet)); + V3 v3 = this.b; + Consumer consumer = new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.n$$ExternalSyntheticLambda3 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(mVar, (D2) obj); + } + }; + v3.getClass(); + v3.a(PX.b, consumer, d2); + if (hashSet.isEmpty()) { + return; + } + this.g.put(d2, mVar); + } + + public final void a(p pVar, D2 d2, m mVar, D2 d22) { + pVar.a(this.a, ((o) this.g.getOrDefault(d22, p.b)).b()); + if (!d2.isInterface() || d22.isInterface()) { + return; + } + boolean z = h; + if (!z && !d2.isInterface()) { + throw new AssertionError(); + } + if (!z && d22.isInterface()) { + throw new AssertionError(); + } + HashSet hashSet = new HashSet(mVar.a.b); + new C0945Rl(hashSet).a(d2.G1()); + for (B2 b2 : hashSet) { + C3877i c3877i = (C3877i) this.a.g(); + if (!C0285j.i) { + c3877i.c(); + } else { + c3877i.getClass(); + } + S4 s4A = c3877i.a(d22, b2.b(), b2.a()); + if (s4A.h()) { + if (!h && !s4A.k().y()) { + throw new AssertionError(); + } + } else if (s4A.v()) { + pVar.b(this.a, b2, C3682d.b); + } else { + if (!h && !s4A.w()) { + throw new AssertionError(); + } + H0 h0P = s4A.p(); + if (!h0P.a().isInterface() && h0P.a() != d22) { + pVar.b(this.a, b2, h0P.D()); + } + } + } + } + + public static boolean a(m mVar, B2 b2) { + return !mVar.a.b.contains(b2); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/o.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/o.java new file mode 100644 index 000000000000..59a507a2ef25 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/o.java @@ -0,0 +1,13 @@ +package com.android.tools.r8.ir.optimize.info; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class o { + public m a() { + return null; + } + + public p b() { + return null; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/p.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/p.java new file mode 100644 index 000000000000..649b9e618add --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/p.java @@ -0,0 +1,58 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.B2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.C0918Ql; +import java.util.Collections; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class p extends o { + public final C0918Ql a; + public static final /* synthetic */ boolean c = true; + public static final p b = new p(new C0918Ql(Collections.emptyMap())); + + public p(C0918Ql c0918Ql) { + this.a = c0918Ql; + } + + /* JADX WARN: Removed duplicated region for block: B:52:0x00f0 */ + /* JADX WARN: Removed duplicated region for block: B:69:0x0123 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public static com.android.tools.r8.ir.optimize.info.h a(com.android.tools.r8.ir.optimize.info.h r9, com.android.tools.r8.graph.C0421y r10, com.android.tools.r8.graph.B2 r11, com.android.tools.r8.ir.optimize.info.h r12) { + /* + Method dump skipped, instruction units count: 400 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.info.p.a(com.android.tools.r8.ir.optimize.info.h, com.android.tools.r8.graph.y, com.android.tools.r8.graph.B2, com.android.tools.r8.ir.optimize.info.h):com.android.tools.r8.ir.optimize.info.h"); + } + + @Override // com.android.tools.r8.ir.optimize.info.o + public final p b() { + return this; + } + + public final void a(final C0421y c0421y, p pVar) { + pVar.a.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.info.p$$ExternalSyntheticLambda0 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.b(c0421y, (B2) obj, (h) obj2); + } + }); + } + + /* JADX INFO: renamed from: a, reason: merged with bridge method [inline-methods] */ + public final void b(final C0421y c0421y, B2 b2, final h hVar) { + this.a.a(b2, new BiFunction() { // from class: com.android.tools.r8.ir.optimize.info.p$$ExternalSyntheticLambda1 + @Override // java.util.function.BiFunction + public final Object apply(Object obj, Object obj2) { + return p.a(hVar, c0421y, (B2) obj, (h) obj2); + } + }); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/q.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/q.java new file mode 100644 index 000000000000..7d0e0f151e64 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/q.java @@ -0,0 +1,39 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.C0285j; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.V3; +import com.android.tools.r8.internal.BX; +import com.android.tools.r8.internal.C1552dh0; +import com.android.tools.r8.internal.MY; +import java.util.ArrayList; +import java.util.IdentityHashMap; +import java.util.Set; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class q { + public static void a(final C0421y c0421y, ExecutorService executorService, BX bx) throws ExecutionException { + final V3 v3A = V3.a(c0421y, ((C0285j) c0421y.g()).d()); + ArrayList arrayListA = new MY(c0421y, v3A).a(); + s sVar = s.b; + final r rVar = new r(); + C1552dh0.a(arrayListA, new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.q$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + new n(c0421y, rVar, v3A).a((Set) obj); + } + }, c0421y.M().N(), executorService); + IdentityHashMap identityHashMap = new IdentityHashMap(rVar.a); + c0421y.o = new s(identityHashMap); + if (identityHashMap.isEmpty()) { + return; + } + u uVar = new u(c0421y); + bx.a(c0421y); + uVar.a(bx, executorService); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/r.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/r.java new file mode 100644 index 000000000000..12d67dfe3669 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/r.java @@ -0,0 +1,10 @@ +package com.android.tools.r8.ir.optimize.info; + +import java.util.concurrent.ConcurrentHashMap; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class r { + public static final /* synthetic */ boolean b = true; + public final ConcurrentHashMap a = new ConcurrentHashMap(); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/s.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/s.java new file mode 100644 index 000000000000..2a49f5db8a35 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/s.java @@ -0,0 +1,22 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.E0; +import java.util.Collections; +import java.util.Map; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class s { + public static final s b = new s(Collections.emptyMap()); + public final Map a; + + public s(Map map) { + this.a = map; + } + + public final h a(E0 e0, C0291j1 c0291j1) { + C3682d c3682d = C3682d.b; + return !e0.a0() ? c3682d : (h) this.a.getOrDefault(c0291j1.getReference(), c3682d); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/t.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/t.java new file mode 100644 index 000000000000..f561dbc5bd4d --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/t.java @@ -0,0 +1,75 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.AbstractC0324n0; +import com.android.tools.r8.graph.C0409w2; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.S4; +import com.android.tools.r8.internal.AbstractC3650zs; +import com.android.tools.r8.internal.EnumC2741qC; +import com.android.tools.r8.shaking.C3877i; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class t extends AbstractC0324n0 { + public final C0421y f; + + public t(C0421y c0421y, A5 a5) { + super(c0421y, a5); + this.f = c0421y; + } + + @Override // com.android.tools.r8.graph.AbstractC0324n0, com.android.tools.r8.graph.Y5 + public final void a(C0409w2 c0409w2) { + AbstractC3650zs abstractC3650zsA = this.f.A(); + A5 a5 = (A5) this.b; + abstractC3650zsA.getClass(); + i((C0409w2) abstractC3650zsA.a(c0409w2, a5.getReference(), EnumC2741qC.d, (AbstractC3650zs) null).a); + } + + @Override // com.android.tools.r8.graph.AbstractC0324n0, com.android.tools.r8.graph.Y5 + public final void b(C0409w2 c0409w2) { + AbstractC3650zs abstractC3650zsA = this.f.A(); + A5 a5 = (A5) this.b; + abstractC3650zsA.getClass(); + i((C0409w2) abstractC3650zsA.a(c0409w2, a5.getReference(), EnumC2741qC.e, (AbstractC3650zs) null).a); + } + + @Override // com.android.tools.r8.graph.AbstractC0324n0, com.android.tools.r8.graph.Y5 + public final void e(C0409w2 c0409w2) { + AbstractC3650zs abstractC3650zsA = this.f.A(); + A5 a5 = (A5) this.b; + abstractC3650zsA.getClass(); + i((C0409w2) abstractC3650zsA.a(c0409w2, a5.getReference(), EnumC2741qC.f, (AbstractC3650zs) null).a); + } + + @Override // com.android.tools.r8.graph.AbstractC0324n0, com.android.tools.r8.graph.Y5 + public final void g(C0409w2 c0409w2) { + AbstractC3650zs abstractC3650zsA = this.f.A(); + A5 a5 = (A5) this.b; + abstractC3650zsA.getClass(); + i((C0409w2) abstractC3650zsA.a(c0409w2, a5.getReference(), EnumC2741qC.g, (AbstractC3650zs) null).a); + } + + @Override // com.android.tools.r8.graph.AbstractC0324n0, com.android.tools.r8.graph.Y5 + public final void h(C0409w2 c0409w2) { + AbstractC3650zs abstractC3650zsA = this.f.A(); + A5 a5 = (A5) this.b; + abstractC3650zsA.getClass(); + i((C0409w2) abstractC3650zsA.a(c0409w2, a5.getReference(), EnumC2741qC.h, (AbstractC3650zs) null).a); + } + + public final void i(C0409w2 c0409w2) { + S4.c cVarO = ((C3877i) this.f.g()).f(c0409w2).o(); + if (cVarO == null) { + return; + } + h hVarA = this.f.o.a(cVarO.d(), cVarO.q()); + hVarA.getClass(); + if (hVarA instanceof C3682d) { + return; + } + this.e = Boolean.TRUE; + a(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/u.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/u.java new file mode 100644 index 000000000000..ef8497d8079a --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/u.java @@ -0,0 +1,71 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.dex.k$$ExternalSyntheticLambda24; +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.internal.AbstractC3650zs; +import com.android.tools.r8.internal.BX; +import com.android.tools.r8.internal.C1552dh0; +import com.android.tools.r8.internal.C2298lM; +import com.android.tools.r8.internal.C3200vB; +import com.android.tools.r8.internal.InterfaceC2602oh0; +import com.android.tools.r8.shaking.C3877i; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class u { + public final C0421y a; + + public u(C0421y c0421y) { + this.a = c0421y; + } + + public final void a(final BX bx, ExecutorService executorService) { + final AbstractC3650zs abstractC3650zsA = this.a.A(); + final C3200vB c3200vBM = this.a.M(); + C1552dh0.a(((C3877i) this.a.g()).d(), new InterfaceC2602oh0() { // from class: com.android.tools.r8.ir.optimize.info.u$$ExternalSyntheticLambda0 + @Override // com.android.tools.r8.internal.InterfaceC2602oh0 + public final Object apply(Object obj) { + return this.f$0.a(bx, abstractC3650zsA, c3200vBM, (D2) obj); + } + }, c3200vBM.N(), executorService).forEach(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.u$$ExternalSyntheticLambda1 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + bx.a((List) obj, abstractC3650zsA); + } + }); + } + + public final /* synthetic */ List a(final BX bx, final AbstractC3650zs abstractC3650zs, final C3200vB c3200vB, D2 d2) { + final ArrayList arrayList = new ArrayList(); + d2.h(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.u$$ExternalSyntheticLambda2 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(bx, abstractC3650zs, c3200vB, arrayList, (A5) obj); + } + }, new k$$ExternalSyntheticLambda24()); + return arrayList; + } + + public final void a(BX bx, AbstractC3650zs abstractC3650zs, C3200vB c3200vB, List list, A5 a5) { + C2298lM c2298lM = bx.a; + c2298lM.getClass(); + boolean z = C2298lM.e; + if (!z && !z && c2298lM.c != abstractC3650zs) { + throw new AssertionError(); + } + if (c2298lM.d.contains(a5.getReference()) || !this.a.a(a5).a(a5)) { + return; + } + t tVar = new t(this.a, a5); + a5.a(tVar); + if (((Boolean) tVar.e).booleanValue()) { + list.add(a5); + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/v.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/v.java new file mode 100644 index 000000000000..3819732770b1 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/v.java @@ -0,0 +1,80 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.C2758qS; +import com.android.tools.r8.internal.C3050tc0; +import com.android.tools.r8.internal.Dk0; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class v extends AbstractC3683e { + public static final /* synthetic */ boolean e = true; + public int b; + public B1 a = Dk0.a; + public int c = 0; + public AbstractC0564Em d = AbstractC0564Em.m(); + + public final v a(B1 b1, C0257g1 c0257g1) { + if (!e) { + b1.getClass(); + if ((b1 instanceof C3050tc0) && !c0257g1.getType().U0()) { + throw new AssertionError(); + } + } + return a(b1); + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final g b() { + return this; + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final v c() { + return this; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final boolean e() { + return (this.b & 1) != 0; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final B1 f() { + return this.a; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final AbstractC0564Em g() { + return this.d; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final int h() { + return this.c; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final boolean i() { + return (this.b & 2) != 0; + } + + @Override // com.android.tools.r8.ir.optimize.info.AbstractC3683e + public final boolean j() { + return (this.b & 4) != 0; + } + + public final v a(B1 b1) { + if (!e && !this.a.isUnknown() && !b1.F()) { + B1 b12 = this.a; + b12.getClass(); + if (!(b12 instanceof C2758qS) || !this.a.m().a.K()) { + throw new AssertionError(); + } + } + this.a = b1; + return this; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/w.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/w.java new file mode 100644 index 000000000000..c7eb4dfb317b --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/w.java @@ -0,0 +1,556 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.L5; +import com.android.tools.r8.internal.AbstractC0548Dw; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0575Ew; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.AbstractC1308bC; +import com.android.tools.r8.internal.AbstractC2670pV; +import com.android.tools.r8.internal.AbstractC3250vj0; +import com.android.tools.r8.internal.AbstractC3575z6; +import com.android.tools.r8.internal.AbstractC3650zs; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.C0882Pb; +import com.android.tools.r8.internal.C1092Wm; +import com.android.tools.r8.internal.C1395c2; +import com.android.tools.r8.internal.C2700pk0; +import com.android.tools.r8.internal.C2789qk0; +import com.android.tools.r8.internal.C2867rd; +import com.android.tools.r8.internal.C3050tc0; +import com.android.tools.r8.internal.Dk0; +import com.android.tools.r8.internal.FQ; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.internal.Ob0; +import com.android.tools.r8.internal.WB; +import com.android.tools.r8.internal.Y6; +import java.util.BitSet; +import java.util.Set; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class w extends h { + public static final int w; + public static final /* synthetic */ boolean x = true; + public AbstractC3679a b; + public Set c; + public int d; + public com.android.tools.r8.internal.r e; + public B1 f; + public InterfaceC2591oc g; + public boolean h; + public AbstractC0722Jn i; + public AbstractC0564Em j; + public AbstractC2670pV k; + public B7 l; + public AbstractC0575Ew m; + public BitSet n; + public BitSet o; + public Jb0 p; + public Jb0 q; + public int r; + public BitSet s; + public BitSet t; + public int u; + public int v; + + static { + C3682d c3682d = C3682d.b; + w = (Y6.a(true) * 8) | Y6.a(false) | (Y6.a(false) * 2) | (Y6.a(false) * 4) | (Y6.a(false) * 16) | (Y6.a(false) * 32) | (Y6.a(false) * 128) | (Y6.a(false) * 256); + } + + public w() { + this.b = E.a; + this.c = C3682d.c; + this.d = -1; + this.e = C2700pk0.a; + this.f = C3682d.d; + this.g = C1395c2.a; + this.h = false; + this.i = C2789qk0.a; + this.j = AbstractC0564Em.m(); + this.v = 3; + this.k = AbstractC2670pV.c; + this.l = null; + this.m = C1092Wm.a; + this.n = null; + this.o = null; + FQ fq = FQ.b; + this.p = fq; + this.q = fq; + this.r = 0; + this.s = null; + this.t = null; + this.u = w; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean A() { + return this.v == 1; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC2670pV B() { + return this.k; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean C() { + return a(8); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean D() { + return a(32); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean E() { + return a(256); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean F() { + return a(16); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean G() { + return this.d != -1; + } + + public void H() { + int i; + if (!x && (i = this.v) != 3 && i != 2) { + throw new AssertionError(); + } + this.v = 2; + } + + public final void I() { + this.f = Dk0.a; + } + + public final void J() { + this.l = null; + } + + public final void K() { + this.u &= -3; + } + + public final void L() { + this.g = C1395c2.a; + } + + public final w M() { + return a(AbstractC0564Em.m()); + } + + public final void N() { + this.i = C2789qk0.a; + } + + public final void O() { + this.v = 3; + } + + public final void P() { + this.c = C3682d.c; + } + + public final void Q() { + this.u &= -129; + } + + public final void R() { + this.u &= -5; + } + + public final void S() { + this.m = C1092Wm.a; + } + + public final void T() { + this.u |= 8; + } + + public final void U() { + this.u &= -33; + } + + public final void V() { + this.o = null; + } + + public final void W() { + this.n = null; + } + + public final void X() { + this.p = FQ.b; + } + + public final void Y() { + this.u &= -17; + } + + public final void Z() { + this.d = -1; + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final w a() { + return this; + } + + public final void a0() { + this.q = FQ.b; + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final g b() { + return this; + } + + public final void b0() { + this.t = null; + } + + @Override // com.android.tools.r8.ir.optimize.info.g + public final boolean d() { + return true; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean e() { + return a(1); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean f() { + return a(2); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean g() { + return this.v == 2; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final com.android.tools.r8.internal.r h() { + return this.e; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final B1 i() { + return this.f; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC3679a j() { + return this.b; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final B7 k() { + return this.l; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final InterfaceC2591oc l() { + return this.g; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0548Dw m() { + return this.m.b(); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0564Em n() { + return this.j; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0722Jn o() { + return this.i; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final Set p() { + return this.c; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final int q() { + return this.r; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet r() { + return this.o; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet s() { + return this.n; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final int t() { + return this.d; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final Jb0 u() { + return this.q; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final BitSet v() { + return this.t; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean w() { + return a(4); + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean y() { + return this.h; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean z() { + return a(128); + } + + public final w a(C0421y c0421y, AbstractC3650zs abstractC3650zs, Set set) { + AbstractC0564Em abstractC0564EmA = this.j.a(c0421y, abstractC3650zs, set); + if (!abstractC0564EmA.f() || !abstractC0564EmA.a().n().H()) { + return a(abstractC0564EmA); + } + boolean z = x; + if (!z) { + AbstractC0564Em abstractC0564Em = this.j; + if (!z && !abstractC0564Em.h()) { + throw new AssertionError(); + } + AbstractC3250vj0 abstractC3250vj0N = abstractC0564Em.a().n(); + if (!z && !abstractC3250vj0N.w()) { + throw new AssertionError(); + } + C2867rd c2867rdB = abstractC3250vj0N.b(); + if (!z && !c0421y.D()) { + throw new AssertionError(); + } + if (!z && !c0421y.R().b(c2867rdB.Q())) { + throw new AssertionError(); + } + } + return a(AbstractC0564Em.m()); + } + + public final void b(int i) { + int i2; + boolean z = x; + if (!z && i < 0) { + throw new AssertionError(); + } + if (!z && (i2 = this.d) != -1 && i2 != i) { + throw new AssertionError(); + } + this.d = i; + } + + public final boolean a(int i) { + return (i & this.u) != 0; + } + + public final void a(C0421y c0421y, L5 l5) { + AbstractC3679a abstractC3679a = this.b; + abstractC3679a.getClass(); + if (abstractC3679a instanceof C3680b) { + this.b = l5.a(this.b.a()); + } + B7 b7 = this.l; + if (b7 != null) { + this.l = l5.a(b7); + } + this.g = l5.a(c0421y, this.g); + w wVarA = this.j.l() ? this : a(l5.a(this.j)); + if (!wVarA.f.isUnknown()) { + wVarA.f = l5.a(c0421y, wVarA.f); + } + wVarA.i = l5.a(wVarA.i); + AbstractC0575Ew abstractC0575EwA = wVarA.m; + if (!l5.a.b.c()) { + abstractC0575EwA = abstractC0575EwA.a(c0421y, l5.a.b); + } + wVarA.m = abstractC0575EwA; + wVarA.o = l5.a(wVarA.o); + wVarA.n = l5.a(wVarA.n); + wVarA.d = l5.a(wVarA.d); + BitSet bitSetA = l5.a(wVarA.t); + BitSet bitSet = null; + if (bitSetA != null && !bitSetA.isEmpty()) { + wVarA.s = bitSetA; + } else { + wVarA.s = null; + } + Jb0 jb0A = wVarA.p; + Ob0 ob0 = c0421y.y; + if (!l5.a.b.c()) { + jb0A = jb0A.a(c0421y, l5.a.b, ob0); + } + wVarA.p = jb0A; + Jb0 jb0A2 = wVarA.q; + Ob0 ob02 = c0421y.y; + if (!l5.a.b.c()) { + jb0A2 = jb0A2.a(c0421y, l5.a.b, ob02); + } + wVarA.q = jb0A2; + BitSet bitSetA2 = l5.a(wVarA.t); + if (bitSetA2 != null && !bitSetA2.isEmpty()) { + bitSet = bitSetA2; + } + wVarA.t = bitSet; + } + + public final w a(AbstractC0722Jn abstractC0722Jn) { + if (!x) { + AbstractC0722Jn abstractC0722Jn2 = this.i; + abstractC0722Jn2.getClass(); + if (abstractC0722Jn2 instanceof C0882Pb) { + abstractC0722Jn.getClass(); + if (!(abstractC0722Jn instanceof C0882Pb)) { + throw new AssertionError(); + } + } + } + this.i = abstractC0722Jn; + return this; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final AbstractC0548Dw a(WB wb) { + return this.m.a(); + } + + public final void a(BitSet bitSet) { + boolean z = x; + if (!z) { + x(); + } + if (!z && x()) { + BitSet bitSet2 = this.t; + if (!AbstractC3575z6.a) { + BitSet bitSet3 = (BitSet) bitSet2.clone(); + bitSet3.or(bitSet); + if (!bitSet.equals(bitSet3)) { + throw new AssertionError(); + } + } + } + if (bitSet.isEmpty()) { + bitSet = null; + } + this.t = bitSet; + } + + public w(w wVar) { + this.b = E.a; + this.c = C3682d.c; + this.d = -1; + this.e = C2700pk0.a; + this.f = C3682d.d; + this.g = C1395c2.a; + this.h = false; + this.i = C2789qk0.a; + this.j = AbstractC0564Em.m(); + this.v = 3; + this.k = AbstractC2670pV.c; + this.l = null; + this.m = C1092Wm.a; + this.n = null; + this.o = null; + FQ fq = FQ.b; + this.p = fq; + this.q = fq; + this.r = 0; + this.s = null; + this.t = null; + this.u = w; + this.e = wVar.e; + this.b = wVar.b; + this.u = wVar.u; + this.c = wVar.c; + this.d = wVar.d; + this.f = wVar.f; + a(wVar.j); + this.v = wVar.v; + this.p = wVar.p; + this.q = wVar.q; + this.l = wVar.l; + this.m = wVar.m; + this.n = wVar.n; + this.o = wVar.o; + this.g = wVar.g; + this.i = wVar.i; + this.r = wVar.r; + } + + @Override // com.android.tools.r8.ir.optimize.info.h + public final boolean a(AbstractC1308bC abstractC1308bC) { + return a(8) && !this.p.a(abstractC1308bC); + } + + public final void a(B1 b1, C0291j1 c0291j1) { + if (!x) { + b1.getClass(); + if ((b1 instanceof C3050tc0) && !c0291j1.g1().U0()) { + throw new AssertionError(); + } + } + a(b1); + } + + public final void a(B1 b1) { + if (!x && this.f.g() && !this.f.equals(b1) && (!this.f.N() || !b1.M() || !this.f.r().R().a(b1.r().R()))) { + throw new AssertionError("return single value changed from " + this.f + " to " + b1); + } + this.f = b1; + } + + public final void a(C0421y c0421y, C0291j1 c0291j1, AbstractC0564Em abstractC0564Em) { + AbstractC3250vj0 abstractC3250vj0B = c0291j1.g1().b((C0421y) c0421y); + if (!x) { + a(c0421y, abstractC0564Em, abstractC3250vj0B); + } + a(abstractC0564Em); + } + + public final w a(AbstractC0564Em abstractC0564Em) { + if (!x && abstractC0564Em.f() && abstractC0564Em.a().n().H()) { + throw new AssertionError(); + } + this.j = abstractC0564Em; + return this; + } + + public final void a(C0421y c0421y, AbstractC0564Em abstractC0564Em, AbstractC3250vj0 abstractC3250vj0) { + if (c0421y.o()) { + AbstractC3250vj0 abstractC3250vj0A = this.j.a(abstractC3250vj0); + AbstractC3250vj0 abstractC3250vj0A2 = abstractC0564Em.a(abstractC3250vj0); + if (!x && !abstractC3250vj0A2.b(abstractC3250vj0A, c0421y)) { + throw new AssertionError("upper bound type changed from " + abstractC3250vj0A + " to " + abstractC3250vj0A2); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/x.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/x.java new file mode 100644 index 000000000000..734e95826bee --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/x.java @@ -0,0 +1,39 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.AbstractC0264h1; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0291j1; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface x { + void a(C0257g1 c0257g1, v vVar); + + default void a(AbstractC0264h1 abstractC0264h1) { + final g gVarH0 = abstractC0264h1.H0(); + if (gVarH0.d()) { + abstractC0264h1.a(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.x$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(gVarH0, (C0257g1) obj); + } + }, new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.x$$ExternalSyntheticLambda1 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + this.f$0.a(gVarH0, (C0291j1) obj); + } + }); + } + } + + void a(C0291j1 c0291j1, w wVar); + + /* synthetic */ default void a(g gVar, C0257g1 c0257g1) { + a(c0257g1, gVar.c()); + } + + /* synthetic */ default void a(g gVar, C0291j1 c0291j1) { + a(c0291j1, gVar.a()); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/y.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/y.java new file mode 100644 index 000000000000..b4c1e78e433c --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/y.java @@ -0,0 +1,47 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.AbstractC0264h1; +import com.android.tools.r8.graph.D2; +import com.android.tools.r8.internal.BO; +import com.android.tools.r8.internal.C0871Oq; +import com.android.tools.r8.internal.C1552dh0; +import com.android.tools.r8.internal.InterfaceC3551yp; +import com.android.tools.r8.threading.ThreadingModule; +import java.util.Collection; +import java.util.Objects; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public abstract class y implements InterfaceC3551yp, BO { + public static final /* synthetic */ boolean a = true; + + public void a(Consumer consumer) { + } + + public static C a() { + return C.b; + } + + public static void a(Collection collection, ThreadingModule threadingModule, ExecutorService executorService, final x xVar) throws ExecutionException { + C1552dh0.a(collection, new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.y$$ExternalSyntheticLambda1 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + y.a(xVar, (D2) obj); + } + }, threadingModule, executorService); + } + + public static /* synthetic */ void a(final x xVar, D2 d2) { + C0871Oq c0871OqB1 = d2.B1(); + Objects.requireNonNull(xVar); + c0871OqB1.forEach(new Consumer() { // from class: com.android.tools.r8.ir.optimize.info.y$$ExternalSyntheticLambda0 + @Override // java.util.function.Consumer + public final void accept(Object obj) { + xVar.a((AbstractC0264h1) obj); + } + }); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/z.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/z.java new file mode 100644 index 000000000000..22ecf45ef58f --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/info/z.java @@ -0,0 +1,338 @@ +package com.android.tools.r8.ir.optimize.info; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0257g1; +import com.android.tools.r8.graph.C0266h3; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.C0427y5; +import com.android.tools.r8.graph.F0; +import com.android.tools.r8.graph.InterfaceC0227d1; +import com.android.tools.r8.graph.InterfaceC0434z5; +import com.android.tools.r8.internal.AbstractC0564Em; +import com.android.tools.r8.internal.AbstractC0575Ew; +import com.android.tools.r8.internal.AbstractC0722Jn; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.B7; +import com.android.tools.r8.internal.C2037il0; +import com.android.tools.r8.internal.C2789qk0; +import com.android.tools.r8.internal.InterfaceC2591oc; +import com.android.tools.r8.internal.Jb0; +import com.android.tools.r8.internal.Zf0; +import com.android.tools.r8.ir.optimize.O; +import com.android.tools.r8.shaking.AbstractC3897l1; +import com.android.tools.r8.shaking.C3877i; +import com.android.tools.r8.shaking.C3884j; +import java.util.BitSet; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Predicate; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class z extends y { + public static final /* synthetic */ boolean f = true; + public final C3884j b; + public final IdentityHashMap c; + public final IdentityHashMap d; + public final IdentityHashMap e; + + public z() { + boolean z = C3877i.J; + this.b = new C3884j(); + this.c = new IdentityHashMap(); + this.d = new IdentityHashMap(); + this.e = new IdentityHashMap(); + } + + public final synchronized v a(C0257g1 c0257g1) { + v vVar = (v) this.c.get(c0257g1); + if (vVar != null) { + return vVar; + } + v vVar2 = (v) c0257g1.l.b(); + vVar2.getClass(); + v vVar3 = new v(); + vVar3.a = vVar2.a; + vVar3.b = vVar2.b; + vVar3.c = vVar2.c; + vVar3.d = vVar2.d; + this.c.put(c0257g1, vVar3); + return vVar3; + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5, Jb0 jb0) { + f(a5.e()).p = jb0; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void c(A5 a5) { + f(a5.e()).u |= 32; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void d(C0291j1 c0291j1) { + f(c0291j1).u |= 16; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void e(C0291j1 c0291j1) { + f(c0291j1).u |= 2; + } + + public final synchronized w f(C0291j1 c0291j1) { + w wVar = (w) this.d.get(c0291j1); + if (wVar != null) { + return wVar; + } + c0291j1.P0(); + w wVar2 = (w) c0291j1.m.b(); + wVar2.getClass(); + w wVar3 = new w(wVar2); + this.d.put(c0291j1, wVar3); + return wVar3; + } + + @Override // com.android.tools.r8.internal.BO + public final void b(A5 a5, BitSet bitSet) { + w wVarF = f(a5.e()); + if (!bitSet.isEmpty()) { + wVarF.s = bitSet; + } else { + wVarF.s = null; + } + } + + public final void c() { + Iterator it = this.d.entrySet().iterator(); + Predicate predicate = new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.z$$ExternalSyntheticLambda0 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return z.a((Map.Entry) obj); + } + }; + while (it.hasNext()) { + if (predicate.test(it.next())) { + it.remove(); + } + } + Iterator it2 = this.e.entrySet().iterator(); + Predicate predicate2 = new Predicate() { // from class: com.android.tools.r8.ir.optimize.info.z$$ExternalSyntheticLambda1 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return z.b((Map.Entry) obj); + } + }; + while (it2.hasNext()) { + if (predicate2.test(it2.next())) { + it2.remove(); + } + } + this.c.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.info.z$$ExternalSyntheticLambda2 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + ((C0257g1) obj).a((v) obj2); + } + }); + this.c.clear(); + this.d.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.info.z$$ExternalSyntheticLambda3 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + ((C0291j1) obj).a((w) obj2); + } + }); + this.d.clear(); + this.e.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.info.z$$ExternalSyntheticLambda4 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + ((C0291j1) obj).a((O) obj2); + } + }); + this.e.clear(); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void b(A5 a5) { + f(a5.e()).v = 3; + } + + public static boolean b(Map.Entry entry) { + return ((C0291j1) entry.getKey()).t; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(A5 a5, B7 b7) { + f(a5.e()).l = b7; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(A5 a5, InterfaceC2591oc interfaceC2591oc) { + f(a5.e()).g = interfaceC2591oc; + } + + public final void b() { + boolean z = f; + if (!z && !this.b.a.isEmpty()) { + throw new AssertionError(); + } + if (!z && !this.c.isEmpty()) { + throw new AssertionError(Zf0.a(", ", this.c.keySet())); + } + if (!z && !this.d.isEmpty()) { + throw new AssertionError(Zf0.a(", ", this.d.keySet())); + } + if (!z && !this.e.isEmpty()) { + throw new AssertionError(Zf0.a(", ", this.e.keySet())); + } + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(A5 a5, AbstractC0722Jn abstractC0722Jn) { + f(a5.e()).a(abstractC0722Jn); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(A5 a5, Jb0 jb0) { + f(a5.e()).q = jb0; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(A5 a5, BitSet bitSet) { + f(a5.e()).a(bitSet); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(A5 a5) { + f(a5.e()).i = C2789qk0.a; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void b(C0291j1 c0291j1) { + f(c0291j1).u &= -9; + } + + @Override // com.android.tools.r8.ir.optimize.info.y + public final void a(Consumer consumer) { + consumer.accept(this.b); + } + + public static boolean a(Map.Entry entry) { + return ((C0291j1) entry.getKey()).t; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void b(C0291j1 c0291j1, BitSet bitSet) { + f(c0291j1).o = bitSet; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void c(C0291j1 c0291j1) { + f(c0291j1).u |= 4; + } + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, AbstractC0564Em abstractC0564Em) { + a(c0257g1).d = abstractC0564Em; + } + + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, int i) { + v vVarA = a(c0257g1); + vVarA.c = i | vVarA.c; + } + + /* JADX WARN: Multi-variable type inference failed */ + @Override // com.android.tools.r8.internal.InterfaceC3551yp + public final void a(C0257g1 c0257g1, C0421y c0421y, B1 b1) { + boolean z = f; + if (!z) { + C0266h3 c0266h3 = ((C3877i) c0421y.g()).s; + if (!c0266h3.a.containsKey(c0257g1.getReference())) { + throw new AssertionError(); + } + } + if (!z && ((C3877i) c0421y.g()).s.a(c0257g1.getReference()).d()) { + throw new AssertionError(); + } + if (!z) { + InterfaceC0434z5 interfaceC0434z5B = c0257g1.b(c0421y); + if (!y.a) { + c0421y.getClass(); + ((F0) interfaceC0434z5B).f0(); + if (!c0421y.a(((C0427y5) interfaceC0434z5B).O()).a(c0421y, interfaceC0434z5B)) { + throw new AssertionError(); + } + } + } + a(c0257g1).a(b1, c0257g1); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(Set set, C0291j1 c0291j1) { + w wVarF = f(c0291j1); + if (set.isEmpty()) { + wVarF.c = C3682d.c; + } else { + wVarF.c = set; + } + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0291j1 c0291j1, int i) { + f(c0291j1).b(i); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0291j1 c0291j1, C0421y c0421y, B1 b1) { + AbstractC3897l1 abstractC3897l1A; + if (!f) { + InterfaceC0434z5 interfaceC0434z5A = c0291j1.a((InterfaceC0227d1) c0421y); + if (!y.a) { + if (interfaceC0434z5A.f0()) { + abstractC3897l1A = c0421y.a(interfaceC0434z5A.O()); + } else { + abstractC3897l1A = c0421y.a(((A5) interfaceC0434z5A).c0()); + } + if (!abstractC3897l1A.a(c0421y, interfaceC0434z5A)) { + throw new AssertionError(); + } + } + } + f(c0291j1).a(b1, c0291j1); + } + + @Override // com.android.tools.r8.internal.BO + public final void a(C0291j1 c0291j1, C2037il0 c2037il0) { + f(c0291j1).e = c2037il0; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0421y c0421y, C0291j1 c0291j1, AbstractC0564Em abstractC0564Em) { + f(c0291j1).a(c0421y, c0291j1, abstractC0564Em); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0291j1 c0291j1, O o) { + this.e.put(c0291j1, o); + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0291j1 c0291j1, AbstractC0575Ew abstractC0575Ew) { + f(c0291j1).m = abstractC0575Ew; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0291j1 c0291j1) { + f(c0291j1).u |= 128; + } + + @Override // com.android.tools.r8.internal.BO + public final synchronized void a(C0291j1 c0291j1, BitSet bitSet) { + f(c0291j1).n = bitSet; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/inliner/WhyAreYouNotInliningDiagnostic.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/inliner/WhyAreYouNotInliningDiagnostic.java new file mode 100644 index 000000000000..e11247d3c101 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/inliner/WhyAreYouNotInliningDiagnostic.java @@ -0,0 +1,32 @@ +package com.android.tools.r8.ir.optimize.inliner; + +import com.android.tools.r8.Diagnostic; +import com.android.tools.r8.origin.Origin; +import com.android.tools.r8.position.Position; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public class WhyAreYouNotInliningDiagnostic implements Diagnostic { + private final Origin b; + private final String c; + + public WhyAreYouNotInliningDiagnostic(Origin origin, String str) { + this.b = origin; + this.c = str; + } + + @Override // com.android.tools.r8.Diagnostic + public String getDiagnosticMessage() { + return this.c; + } + + @Override // com.android.tools.r8.Diagnostic + public Origin getOrigin() { + return this.b; + } + + @Override // com.android.tools.r8.Diagnostic + public Position getPosition() { + return Position.UNKNOWN; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/k0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/k0.java new file mode 100644 index 000000000000..5ec474bf133c --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/k0.java @@ -0,0 +1,277 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC2346lp; +import com.android.tools.r8.internal.C0956Rv; +import com.android.tools.r8.internal.C3147ue0; +import com.android.tools.r8.internal.C3654zw; +import com.android.tools.r8.internal.H5; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class k0 { + public static final /* synthetic */ boolean c = true; + public final LinkedHashMap a = new LinkedHashMap(); + public int b = 10000; + + public final C3685j0 a(H5 h5, int i) { + AbstractC1076Vw abstractC1076VwG; + LinkedHashMap linkedHashMap; + LinkedHashMap linkedHashMap2; + LinkedHashSet linkedHashSet; + LinkedHashMap linkedHashMap3; + LinkedHashMap linkedHashMap4; + LinkedHashMap linkedHashMap5; + if (h5.s().isEmpty()) { + return new C3685j0(i); + } + List
    listS = h5.s(); + Iterator
    it = listS.iterator(); + C3685j0 c3685j0 = new C3685j0(i, (C3685j0) this.a.get(it.next())); + while (it.hasNext()) { + C3685j0 c3685j02 = (C3685j0) this.a.get(it.next()); + if (c3685j02 == null) { + return new C3685j0(i); + } + LinkedHashMap linkedHashMap6 = c3685j0.a; + if (linkedHashMap6 == null || (linkedHashMap5 = c3685j02.a) == null) { + c3685j0.a = null; + } else { + C3685j0.a(linkedHashMap6, linkedHashMap5); + } + LinkedHashMap linkedHashMap7 = c3685j0.b; + if (linkedHashMap7 == null || (linkedHashMap4 = c3685j02.b) == null) { + c3685j0.b = null; + } else { + C3685j0.a(linkedHashMap7, linkedHashMap4); + } + LinkedHashMap linkedHashMap8 = c3685j0.c; + if (linkedHashMap8 == null || (linkedHashMap3 = c3685j02.c) == null) { + c3685j0.c = null; + } else { + C3685j0.a(linkedHashMap8, linkedHashMap3); + } + LinkedHashSet linkedHashSet2 = c3685j0.d; + if (linkedHashSet2 == null || (linkedHashSet = c3685j02.d) == null) { + c3685j0.d = null; + } else { + C3685j0.a(linkedHashSet2, linkedHashSet); + } + LinkedHashMap linkedHashMap9 = c3685j0.e; + if (linkedHashMap9 == null || (linkedHashMap2 = c3685j02.e) == null) { + c3685j0.e = null; + } else { + C3685j0.a(linkedHashMap9, linkedHashMap2); + } + LinkedHashMap linkedHashMap10 = c3685j0.f; + if (linkedHashMap10 == null || (linkedHashMap = c3685j02.f) == null) { + c3685j0.f = null; + } else { + C3685j0.a(linkedHashMap10, linkedHashMap); + } + boolean z = C3685j0.k; + if (!z && c3685j0.g != null) { + throw new AssertionError(); + } + if (!z && c3685j0.h != null) { + throw new AssertionError(); + } + if (!z && c3685j0.i != null) { + throw new AssertionError(); + } + } + for (H5 h52 : listS) { + if (h52.c(h5) && (abstractC1076VwG = h52.g()) != null) { + if (abstractC1076VwG.J1()) { + AbstractC2346lp abstractC2346lpQ = abstractC1076VwG.Q(); + C0309l1 field = abstractC2346lpQ.getField(); + if (abstractC2346lpQ instanceof C3654zw) { + l0 l0Var = new l0(field, abstractC2346lpQ.c().h().i()); + LinkedHashMap linkedHashMap11 = c3685j0.b; + if (linkedHashMap11 != null) { + linkedHashMap11.remove(l0Var); + } + LinkedHashMap linkedHashMap12 = c3685j0.e; + if (linkedHashMap12 != null) { + linkedHashMap12.remove(l0Var); + } + LinkedHashMap linkedHashMap13 = c3685j0.h; + if (linkedHashMap13 != null) { + linkedHashMap13.remove(l0Var); + } + } else if (abstractC2346lpQ instanceof C3147ue0) { + LinkedHashMap linkedHashMap14 = c3685j0.c; + if (linkedHashMap14 != null) { + linkedHashMap14.remove(field); + } + LinkedHashMap linkedHashMap15 = c3685j0.f; + if (linkedHashMap15 != null) { + linkedHashMap15.remove(field); + } + LinkedHashMap linkedHashMap16 = c3685j0.i; + if (linkedHashMap16 != null) { + linkedHashMap16.remove(field); + } + } + } else if (abstractC1076VwG.N1()) { + C0956Rv c0956RvU = abstractC1076VwG.U(); + LinkedHashSet linkedHashSet3 = c3685j0.d; + if (linkedHashSet3 != null) { + linkedHashSet3.remove(c0956RvU.i); + } + } + } + } + return c3685j0; + } + + /* JADX WARN: Code restructure failed: missing block: B:46:0x0008, code lost: + + continue; + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final void a(com.android.tools.r8.internal.H5 r5, com.android.tools.r8.internal.C3098u30 r6) { + /* + r4 = this; + java.util.List r0 = r5.s() + java.util.Iterator r0 = r0.iterator() + L8: + boolean r1 = r0.hasNext() + if (r1 == 0) goto L89 + java.lang.Object r1 = r0.next() + com.android.tools.r8.internal.H5 r1 = (com.android.tools.r8.internal.H5) r1 + boolean r2 = r1.C() + if (r2 == 0) goto L3b + java.util.LinkedHashMap r2 = r4.a + java.lang.Object r1 = r2.remove(r1) + com.android.tools.r8.ir.optimize.j0 r1 = (com.android.tools.r8.ir.optimize.C3685j0) r1 + if (r1 == 0) goto L8 + int r1 = r1.d() + boolean r2 = com.android.tools.r8.ir.optimize.k0.c + if (r2 != 0) goto L35 + if (r1 <= 0) goto L2f + goto L35 + L2f: + java.lang.AssertionError r5 = new java.lang.AssertionError + r5.() + throw r5 + L35: + int r2 = r4.b + int r2 = r2 + r1 + r4.b = r2 + goto L8 + L3b: + java.util.ArrayList r2 = r1.b + int r2 = r2.size() + int r3 = r1.L() + int r2 = r2 - r3 + L46: + java.util.ArrayList r3 = r1.b + int r3 = r3.size() + if (r2 >= r3) goto L8 + java.util.ArrayList r3 = r1.b + java.lang.Object r3 = r3.get(r2) + if (r3 != r5) goto L86 + int r2 = r6.b(r1) + int r2 = r2 + (-1) + if (r2 != 0) goto L82 + r6.c(r1) + java.util.LinkedHashMap r2 = r4.a + java.lang.Object r1 = r2.remove(r1) + com.android.tools.r8.ir.optimize.j0 r1 = (com.android.tools.r8.ir.optimize.C3685j0) r1 + if (r1 == 0) goto L8 + int r1 = r1.d() + boolean r2 = com.android.tools.r8.ir.optimize.k0.c + if (r2 != 0) goto L7c + if (r1 <= 0) goto L76 + goto L7c + L76: + java.lang.AssertionError r5 = new java.lang.AssertionError + r5.() + throw r5 + L7c: + int r2 = r4.b + int r2 = r2 + r1 + r4.b = r2 + goto L8 + L82: + r6.b(r2, r1) + goto L8 + L86: + int r2 = r2 + 1 + goto L46 + L89: + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.k0.a(com.android.tools.r8.internal.H5, com.android.tools.r8.internal.u30):void"); + } + + /* JADX WARN: Code restructure failed: missing block: B:57:0x00ca, code lost: + + if (r1 <= 0) goto L59; + */ + /* JADX WARN: Code restructure failed: missing block: B:58:0x00cc, code lost: + + r8.a(r1); + */ + /* JADX WARN: Code restructure failed: missing block: B:60:0x00d1, code lost: + + if (com.android.tools.r8.ir.optimize.k0.c != false) goto L76; + */ + /* JADX WARN: Code restructure failed: missing block: B:61:0x00d3, code lost: + + r0 = r6.b; + r1 = r6.a.values().iterator(); + */ + /* JADX WARN: Code restructure failed: missing block: B:63:0x00e3, code lost: + + if (r1.hasNext() == false) goto L92; + */ + /* JADX WARN: Code restructure failed: missing block: B:64:0x00e5, code lost: + + r2 = ((com.android.tools.r8.ir.optimize.C3685j0) r1.next()).d(); + */ + /* JADX WARN: Code restructure failed: missing block: B:65:0x00f1, code lost: + + if (com.android.tools.r8.ir.optimize.k0.c != false) goto L93; + */ + /* JADX WARN: Code restructure failed: missing block: B:66:0x00f3, code lost: + + if (r2 <= 0) goto L91; + */ + /* JADX WARN: Code restructure failed: missing block: B:69:0x00fb, code lost: + + throw new java.lang.AssertionError(); + */ + /* JADX WARN: Code restructure failed: missing block: B:70:0x00fc, code lost: + + r3 = r3 + r2; + */ + /* JADX WARN: Code restructure failed: missing block: B:72:0x0100, code lost: + + if (r0 != (10000 - r3)) goto L74; + */ + /* JADX WARN: Code restructure failed: missing block: B:75:0x0108, code lost: + + throw new java.lang.AssertionError(); + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final void a(com.android.tools.r8.internal.H5 r7, com.android.tools.r8.ir.optimize.C3685j0 r8) { + /* + Method dump skipped, instruction units count: 293 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.k0.a(com.android.tools.r8.internal.H5, com.android.tools.r8.ir.optimize.j0):void"); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/l0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/l0.java new file mode 100644 index 000000000000..5901619fc63d --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/l0.java @@ -0,0 +1,32 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.internal.C3161ul0; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class l0 { + public static final /* synthetic */ boolean c = true; + public final C0309l1 a; + public final C3161ul0 b; + + public l0(C0309l1 c0309l1, C3161ul0 c3161ul0) { + if (!c && c3161ul0 != c3161ul0.i()) { + throw new AssertionError(); + } + this.a = c0309l1; + this.b = c3161ul0; + } + + public final boolean equals(Object obj) { + if (!(obj instanceof l0)) { + return false; + } + l0 l0Var = (l0) obj; + return l0Var.b == this.b && l0Var.a == this.a; + } + + public final int hashCode() { + return (this.a.hashCode() * 7) + this.b.b; + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/m0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/m0.java new file mode 100644 index 000000000000..2c255d5c0ddd --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/m0.java @@ -0,0 +1,14 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC3250vj0; +import com.android.tools.r8.internal.K5; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public interface m0 { + AbstractC3250vj0 a(C0421y c0421y, AbstractC3250vj0 abstractC3250vj0); + + void a(K5 k5, AbstractC1076Vw abstractC1076Vw); +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/n0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/n0.java new file mode 100644 index 000000000000..71d33311da5b --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/n0.java @@ -0,0 +1,35 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC3250vj0; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.K5; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class n0 implements m0 { + public final C3161ul0 a; + public final /* synthetic */ p0 b; + + public n0(p0 p0Var, C3161ul0 c3161ul0) { + this.b = p0Var; + this.a = c3161ul0; + } + + @Override // com.android.tools.r8.ir.optimize.m0 + public final void a(K5 k5, AbstractC1076Vw abstractC1076Vw) { + abstractC1076Vw.d().a(this.a, this.b.d); + k5.p(); + this.b.h = true; + } + + public final String toString() { + return "ExistingValue(v" + this.a.s() + ")"; + } + + @Override // com.android.tools.r8.ir.optimize.m0 + public final AbstractC3250vj0 a(C0421y c0421y, AbstractC3250vj0 abstractC3250vj0) { + return this.a.t(); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/o0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/o0.java new file mode 100644 index 000000000000..391e926ff7e3 --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/o0.java @@ -0,0 +1,95 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.B1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.AbstractC3250vj0; +import com.android.tools.r8.internal.Bc0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C2681pc0; +import com.android.tools.r8.internal.C2947sS; +import com.android.tools.r8.internal.C3050tc0; +import com.android.tools.r8.internal.C3143uc0; +import com.android.tools.r8.internal.K5; +import com.android.tools.r8.internal.R3; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class o0 implements m0 { + public static final /* synthetic */ boolean c = true; + public final Bc0 a; + public final /* synthetic */ p0 b; + + public o0(p0 p0Var, Bc0 bc0) { + this.b = p0Var; + if (!c) { + q0 q0Var = p0Var.i; + int i = q0.e; + if (!bc0.b(q0Var.a.V(), p0Var.a)) { + throw new AssertionError(); + } + } + this.a = bc0; + } + + @Override // com.android.tools.r8.ir.optimize.m0 + public final void a(K5 k5, AbstractC1076Vw abstractC1076Vw) { + Bc0 bc0 = this.a; + q0 q0Var = this.b.i; + int i = q0.e; + C0421y c0421yU = q0Var.a.U(); + C0874Ot c0874Ot = this.b.b; + bc0.getClass(); + AbstractC1076Vw[] abstractC1076VwArrA = bc0.a(c0421yU, c0874Ot.i(), c0874Ot, abstractC1076Vw); + if (!c && abstractC1076VwArrA.length != 1) { + throw new AssertionError(); + } + boolean z = R3.a; + k5.a(abstractC1076VwArrA[0], this.b.d); + this.b.h = true; + } + + @Override // com.android.tools.r8.ir.optimize.m0 + public final AbstractC3250vj0 a(C0421y c0421y, AbstractC3250vj0 abstractC3250vj0) { + B1 b1A = c0421y.a(); + if (!this.a.O()) { + Bc0 bc0 = this.a; + bc0.getClass(); + if (!(bc0 instanceof C2681pc0)) { + if (this.a.K()) { + return AbstractC3250vj0.a(this.a.r().b.getType(), C2947sS.h(), (C0421y) c0421y); + } + boolean z = c; + if (!z) { + Bc0 bc02 = this.a; + bc02.getClass(); + if (!(bc02 instanceof C3143uc0)) { + throw new AssertionError(); + } + } + if (abstractC3250vj0.I()) { + if (!z) { + Bc0 bc03 = this.a; + bc03.getClass(); + if (!(bc03 instanceof C3050tc0)) { + throw new AssertionError(); + } + } + return AbstractC3250vj0.m(); + } + if (z || abstractC3250vj0.H()) { + return abstractC3250vj0; + } + throw new AssertionError(); + } + } + I2 i2 = b1A.Y1; + q0 q0Var = this.b.i; + int i = q0.e; + C0421y c0421y2 = q0Var.a; + C2947sS c2947sSB = C2947sS.b(); + i2.getClass(); + return AbstractC3250vj0.a(i2, c2947sSB, (C0421y) c0421y2); + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/p0.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/p0.java new file mode 100644 index 000000000000..d6de4efbb8ac --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/p0.java @@ -0,0 +1,375 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.A5; +import com.android.tools.r8.graph.C0291j1; +import com.android.tools.r8.graph.C0309l1; +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.graph.C0427y5; +import com.android.tools.r8.graph.I2; +import com.android.tools.r8.internal.AbstractC0548Dw; +import com.android.tools.r8.internal.AbstractC1076Vw; +import com.android.tools.r8.internal.Al0$$ExternalSyntheticLambda0; +import com.android.tools.r8.internal.B1; +import com.android.tools.r8.internal.Bc0; +import com.android.tools.r8.internal.C0756Kt; +import com.android.tools.r8.internal.C0851Nw; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C0956Rv; +import com.android.tools.r8.internal.C0996Tg; +import com.android.tools.r8.internal.C3147ue0; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3239ve0; +import com.android.tools.r8.internal.C3654zw; +import com.android.tools.r8.internal.H5; +import com.android.tools.r8.internal.InterfaceC2803qw; +import com.android.tools.r8.internal.JM; +import com.android.tools.r8.internal.K5; +import com.android.tools.r8.internal.Nk0; +import com.android.tools.r8.internal.PX; +import com.android.tools.r8.internal.SW; +import com.android.tools.r8.internal.TU; +import com.android.tools.r8.internal.WB; +import com.android.tools.r8.shaking.C3877i; +import java.util.IdentityHashMap; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.Predicate; +import java.util.function.Supplier; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class p0 { + public static final /* synthetic */ boolean j = true; + public final A5 a; + public final C0874Ot b; + public final int c; + public C3685j0 f; + public final /* synthetic */ q0 i; + public final C3658a d = new C3658a(); + public final k0 e = new k0(); + public final IdentityHashMap g = new IdentityHashMap(); + public boolean h = false; + + public p0(q0 q0Var, C0874Ot c0874Ot) { + this.i = q0Var; + this.a = c0874Ot.i(); + this.b = c0874Ot; + this.c = Math.max(50, 10000 / c0874Ot.d.size()); + if (!j && q0Var.a.M().Z0) { + throw new AssertionError(); + } + } + + public static /* synthetic */ void a(List list, C3161ul0 c3161ul0) { + if (c3161ul0.l()) { + list.add(c3161ul0.p()); + } + } + + public final void b() { + this.g.forEach(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.p0$$ExternalSyntheticLambda1 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a((H5) obj, (Set) obj2); + } + }); + } + + /* JADX WARN: Removed duplicated region for block: B:66:0x01b1 */ + /* JADX WARN: Type inference fix 'apply assigned field type' failed + java.lang.UnsupportedOperationException: ArgType.getObject(), call class: class jadx.core.dex.instructions.args.ArgType$UnknownArg + at jadx.core.dex.instructions.args.ArgType.getObject(ArgType.java:593) + at jadx.core.dex.attributes.nodes.ClassTypeVarsAttr.getTypeVarsMapFor(ClassTypeVarsAttr.java:35) + at jadx.core.dex.nodes.utils.TypeUtils.replaceClassGenerics(TypeUtils.java:177) + at jadx.core.dex.visitors.typeinference.FixTypesVisitor.insertExplicitUseCast(FixTypesVisitor.java:397) + at jadx.core.dex.visitors.typeinference.FixTypesVisitor.tryFieldTypeWithNewCasts(FixTypesVisitor.java:359) + at jadx.core.dex.visitors.typeinference.FixTypesVisitor.applyFieldType(FixTypesVisitor.java:309) + at jadx.core.dex.visitors.typeinference.FixTypesVisitor.visit(FixTypesVisitor.java:94) + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final com.android.tools.r8.internal.C0669Id c() { + /* + Method dump skipped, instruction units count: 1506 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.android.tools.r8.ir.optimize.p0.c():com.android.tools.r8.internal.Id"); + } + + public final void b(I2 i2) { + C0956Rv c0956Rv = this.f.g; + if (c0956Rv == null || c0956Rv.i != i2) { + return; + } + ((Set) this.g.computeIfAbsent(c0956Rv.b(), JM.a(new Al0$$ExternalSyntheticLambda0()))).add(c0956Rv); + } + + public final void a(SW sw) { + sw.a((C0756Kt) null, this.d, C0996Tg.b(), PX.c); + } + + public final /* synthetic */ void a(final H5 h5, Set set) { + if (!j && !set.stream().allMatch(new Predicate() { // from class: com.android.tools.r8.ir.optimize.p0$$ExternalSyntheticLambda6 + @Override // java.util.function.Predicate + public final boolean test(Object obj) { + return p0.a(h5, (AbstractC1076Vw) obj); + } + })) { + throw new AssertionError(); + } + K5 k5A = h5.a(this.b); + while (k5A.hasNext()) { + AbstractC1076Vw next = k5A.next(); + if (!j && next.d2()) { + throw new AssertionError(); + } + if (set.contains(next)) { + k5A.p(); + this.h = true; + set.remove(next); + if (set.isEmpty()) { + return; + } + } + } + } + + public static /* synthetic */ boolean a(H5 h5, AbstractC1076Vw abstractC1076Vw) { + return abstractC1076Vw.b() == h5; + } + + public final void a(final WB wb) { + if (!this.i.a.g().i()) { + a(); + return; + } + final C0421y c0421yV = this.i.a.V(); + com.android.tools.r8.graph.H0 h0G = wb.g(this.i.a, this.a); + if (h0G != null && h0G.e().r1()) { + C0291j1 c0291j1E = h0G.e(); + c0291j1E.P0(); + AbstractC0548Dw abstractC0548DwA = c0291j1E.m.a(wb); + if (abstractC0548DwA.e()) { + a(); + } + abstractC0548DwA.b().b(this.i.a, new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.p0$$ExternalSyntheticLambda3 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a(c0421yV, wb, (com.android.tools.r8.graph.F0) obj, (InterfaceC2803qw) obj2); + } + }); + return; + } + a(); + } + + public final void a(C0421y c0421y, WB wb, com.android.tools.r8.graph.F0 f0, InterfaceC2803qw interfaceC2803qw) { + f0.getClass(); + if (f0 instanceof C0427y5) { + C0427y5 c0427y5O = f0.O(); + if (!this.i.a.a(c0427y5O).a(c0421y, c0427y5O)) { + return; + } + } + if (interfaceC2803qw.h()) { + C3161ul0 c3161ul0B = wb.b(interfaceC2803qw.f().a); + l0 l0Var = new l0(f0.getReference(), wb.V2().i()); + if (f0.b(c0421y)) { + C3685j0 c3685j0 = this.f; + n0 n0Var = new n0(this, c3161ul0B); + c3685j0.c(); + if (c3685j0.b == null) { + c3685j0.b = new LinkedHashMap(); + } + c3685j0.b.put(l0Var, n0Var); + return; + } + this.f.a(l0Var, new n0(this, c3161ul0B)); + return; + } + if (interfaceC2803qw.g()) { + Bc0 bc0J = interfaceC2803qw.j(); + if (bc0J.Q() && bc0J.b(c0421y, this.a)) { + l0 l0Var2 = new l0(f0.getReference(), wb.V2().i()); + if (f0.b(c0421y)) { + C3685j0 c3685j02 = this.f; + o0 o0Var = new o0(this, bc0J); + c3685j02.c(); + if (c3685j02.b == null) { + c3685j02.b = new LinkedHashMap(); + } + c3685j02.b.put(l0Var2, o0Var); + return; + } + this.f.a(l0Var2, new o0(this, bc0J)); + return; + } + return; + } + if (!j && !interfaceC2803qw.a()) { + throw new AssertionError(); + } + } + + public final boolean a(I2 i2) { + C3685j0 c3685j0 = this.f; + c3685j0.c(); + if (c3685j0.d == null) { + c3685j0.d = new LinkedHashSet(); + } + return c3685j0.d.add(i2); + } + + public final void a(C0851Nw c0851Nw, com.android.tools.r8.graph.F0 f0) { + this.f.b(f0.getReference()); + if (c0851Nw.a(this.i.a, this.a)) { + this.f.a(); + } + l0 l0Var = new l0(f0.getReference(), c0851Nw.h().i()); + n0 n0Var = new n0(this, c0851Nw.value()); + if (f0.b(this.i.a)) { + if (!j && f0.e().g.f() && !this.a.e().r1()) { + throw new AssertionError(); + } + C3685j0 c3685j0 = this.f; + c3685j0.c(); + if (c3685j0.b == null) { + c3685j0.b = new LinkedHashMap(); + } + c3685j0.b.put(l0Var, n0Var); + } else { + this.f.a(l0Var, n0Var); + } + C3685j0 c3685j02 = this.f; + c3685j02.c(); + if (c3685j02.h == null) { + c3685j02.h = new LinkedHashMap(); + } + C0851Nw c0851Nw2 = (C0851Nw) c3685j02.h.put(l0Var, c0851Nw); + if (c0851Nw2 != null) { + ((Set) this.g.computeIfAbsent(c0851Nw2.b(), JM.a(new Al0$$ExternalSyntheticLambda0()))).add(c0851Nw2); + } + C3685j0 c3685j03 = this.f; + C0956Rv c0956Rv = c3685j03.g; + c3685j03.g = null; + } + + public final void a(C3239ve0 c3239ve0, final com.android.tools.r8.graph.F0 f0) { + a(f0.s()); + a(c3239ve0); + if (c3239ve0.a(this.i.a, this.a)) { + this.f.a(); + } + n0 n0Var = new n0(this, c3239ve0.value()); + if (f0.b(this.i.a)) { + if (!j && !this.i.a.a(new Supplier() { // from class: com.android.tools.r8.ir.optimize.p0$$ExternalSyntheticLambda0 + @Override // java.util.function.Supplier + public final Object get() { + return this.f$0.a(f0); + } + })) { + throw new AssertionError(); + } + this.f.a(f0.getReference(), n0Var); + } else { + this.f.b(f0.getReference(), n0Var); + C3685j0 c3685j0 = this.f; + C0309l1 reference = f0.getReference(); + c3685j0.c(); + if (c3685j0.i == null) { + c3685j0.i = new LinkedHashMap(); + } + C3239ve0 c3239ve02 = (C3239ve0) c3685j0.i.put(reference, c3239ve0); + if (c3239ve02 != null) { + ((Set) this.g.computeIfAbsent(c3239ve02.b(), JM.a(new Al0$$ExternalSyntheticLambda0()))).add(c3239ve02); + } + } + b(f0.s()); + C3685j0 c3685j02 = this.f; + C0956Rv c0956Rv = c3685j02.g; + c3685j02.g = null; + } + + public final Boolean a(com.android.tools.r8.graph.F0 f0) { + return Boolean.valueOf(!f0.e().g.f() || this.a.e().n1()); + } + + public final void a(final C3161ul0 c3161ul0, TU tu) { + final C0421y c0421yV = this.i.a.V(); + tu.a(new BiConsumer() { // from class: com.android.tools.r8.ir.optimize.p0$$ExternalSyntheticLambda2 + @Override // java.util.function.BiConsumer + public final void accept(Object obj, Object obj2) { + this.f$0.a(c0421yV, c3161ul0, (C0309l1) obj, (B1) obj2); + } + }); + } + + public final void a(C0421y c0421y, C3161ul0 c3161ul0, C0309l1 c0309l1, B1 b1) { + if (b1.g()) { + com.android.tools.r8.graph.F0 f0A = c0421y.a(c0309l1); + boolean z = C0427y5.f; + C0427y5 c0427y5O = f0A != null ? f0A.O() : null; + if (c0427y5O == null || this.i.a.a(c0427y5O).a(c0421y, c0427y5O)) { + Bc0 bc0J = b1.j(); + if (bc0J.Q() && bc0J.b(c0421y, this.a)) { + C3685j0 c3685j0 = this.f; + l0 l0Var = new l0(c0309l1, c3161ul0); + o0 o0Var = new o0(this, bc0J); + c3685j0.c(); + if (c3685j0.b == null) { + c3685j0.b = new LinkedHashMap(); + } + c3685j0.b.put(l0Var, o0Var); + } + } + } + } + + public final void a() { + C3685j0 c3685j0 = this.f; + c3685j0.a = null; + c3685j0.e = null; + c3685j0.f = null; + c3685j0.a(); + C3685j0 c3685j02 = this.f; + C0956Rv c0956Rv = c3685j02.g; + c3685j02.g = null; + } + + public final void a(AbstractC1076Vw abstractC1076Vw) { + if (!j && !abstractC1076Vw.N1() && !abstractC1076Vw.w2()) { + throw new AssertionError(); + } + if (abstractC1076Vw.e()) { + if (abstractC1076Vw.d(this.i.a, this.a)) { + C3685j0 c3685j0 = this.f; + c3685j0.f = null; + c3685j0.a(); + return; + } else { + C3685j0 c3685j02 = this.f; + C0309l1 field = abstractC1076Vw.J0().getField(); + LinkedHashMap linkedHashMap = c3685j02.f; + if (linkedHashMap != null) { + linkedHashMap.remove(field); + return; + } + return; + } + } + if (!abstractC1076Vw.N1() && !(abstractC1076Vw instanceof C3147ue0)) { + if (abstractC1076Vw instanceof C3654zw) { + throw new Nk0(); + } + } else if (abstractC1076Vw.d(this.i.a, this.a)) { + C3685j0 c3685j03 = this.f; + c3685j03.f = null; + c3685j03.a(); + } + } +} diff --git a/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/r.java b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/r.java new file mode 100644 index 000000000000..dcea297e58cd --- /dev/null +++ b/FtcRobotController/base/sources/com/android/tools/r8/ir/optimize/r.java @@ -0,0 +1,42 @@ +package com.android.tools.r8.ir.optimize; + +import com.android.tools.r8.graph.C0421y; +import com.android.tools.r8.internal.AbstractC3424xb0; +import com.android.tools.r8.internal.C0874Ot; +import com.android.tools.r8.internal.C3161ul0; +import com.android.tools.r8.internal.C3571z4; +import com.android.tools.r8.internal.K5; +import java.util.Set; +import java.util.function.Consumer; + +/* JADX INFO: compiled from: R8_8.5.35_9c55004e7c41a17b1ed47c4e1952cb6778b3dac6afb6afc113a2737c3cde13e0 */ +/* JADX INFO: loaded from: classes8.dex */ +public final class r { + public static final /* synthetic */ boolean d = true; + public final C0421y a; + public final C0874Ot b; + public final Set c = AbstractC3424xb0.c(); + + public r(C0421y c0421y, C0874Ot c0874Ot) { + this.a = c0421y; + this.b = c0874Ot; + } + + public final void a(C3571z4 c3571z4) { + this.c.add(c3571z4); + } + + public static void a(C3571z4 c3571z4, K5 k5, Set set, Consumer consumer) { + C3161ul0 c3161ul0L2 = c3571z4.L2(); + C3161ul0 c3161ul0D = c3571z4.d(); + if (c3161ul0D == null) { + return; + } + if (!c3161ul0D.t().equals(c3161ul0L2.t())) { + set.addAll(c3161ul0D.a()); + } + c3161ul0D.f(c3161ul0L2); + consumer.accept(c3571z4); + k5.p(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/R.java b/FtcRobotController/base/sources/com/google/blocks/R.java new file mode 100644 index 000000000000..c6ef34279480 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/R.java @@ -0,0 +1,2985 @@ +package com.google.blocks; + +/* JADX INFO: loaded from: classes5.dex */ +public final class R { + + public static final class anim { + public static int abc_fade_in = 0x7f010000; + public static int abc_fade_out = 0x7f010001; + public static int abc_grow_fade_in_from_bottom = 0x7f010002; + public static int abc_popup_enter = 0x7f010003; + public static int abc_popup_exit = 0x7f010004; + public static int abc_shrink_fade_out_from_bottom = 0x7f010005; + public static int abc_slide_in_bottom = 0x7f010006; + public static int abc_slide_in_top = 0x7f010007; + public static int abc_slide_out_bottom = 0x7f010008; + public static int abc_slide_out_top = 0x7f010009; + public static int abc_tooltip_enter = 0x7f01000a; + public static int abc_tooltip_exit = 0x7f01000b; + public static int btn_checkbox_to_checked_box_inner_merged_animation = 0x7f01000c; + public static int btn_checkbox_to_checked_box_outer_merged_animation = 0x7f01000d; + public static int btn_checkbox_to_checked_icon_null_animation = 0x7f01000e; + public static int btn_checkbox_to_unchecked_box_inner_merged_animation = 0x7f01000f; + public static int btn_checkbox_to_unchecked_check_path_merged_animation = 0x7f010010; + public static int btn_checkbox_to_unchecked_icon_null_animation = 0x7f010011; + public static int btn_radio_to_off_mtrl_dot_group_animation = 0x7f010012; + public static int btn_radio_to_off_mtrl_ring_outer_animation = 0x7f010013; + public static int btn_radio_to_off_mtrl_ring_outer_path_animation = 0x7f010014; + public static int btn_radio_to_on_mtrl_dot_group_animation = 0x7f010015; + public static int btn_radio_to_on_mtrl_ring_outer_animation = 0x7f010016; + public static int btn_radio_to_on_mtrl_ring_outer_path_animation = 0x7f010017; + + private anim() { + } + } + + public static final class array { + public static int app_theme_colors = 0x7f020000; + public static int app_theme_ids = 0x7f020001; + public static int app_theme_names = 0x7f020002; + public static int app_theme_tokens = 0x7f020003; + public static int choice_array_legacy_module = 0x7f020004; + public static int lynx_module_options_array = 0x7f020005; + public static int networkTypes = 0x7f020006; + public static int servo_hub_options_array = 0x7f020007; + public static int wifi_direct_channels = 0x7f020008; + + private array() { + } + } + + public static final class attr { + public static int actionBarDivider = 0x7f030000; + public static int actionBarItemBackground = 0x7f030001; + public static int actionBarPopupTheme = 0x7f030002; + public static int actionBarSize = 0x7f030003; + public static int actionBarSplitStyle = 0x7f030004; + public static int actionBarStyle = 0x7f030005; + public static int actionBarTabBarStyle = 0x7f030006; + public static int actionBarTabStyle = 0x7f030007; + public static int actionBarTabTextStyle = 0x7f030008; + public static int actionBarTheme = 0x7f030009; + public static int actionBarWidgetTheme = 0x7f03000a; + public static int actionButtonStyle = 0x7f03000b; + public static int actionDropDownStyle = 0x7f03000c; + public static int actionLayout = 0x7f03000d; + public static int actionMenuTextAppearance = 0x7f03000e; + public static int actionMenuTextColor = 0x7f03000f; + public static int actionModeBackground = 0x7f030010; + public static int actionModeCloseButtonStyle = 0x7f030011; + public static int actionModeCloseDrawable = 0x7f030012; + public static int actionModeCopyDrawable = 0x7f030013; + public static int actionModeCutDrawable = 0x7f030014; + public static int actionModeFindDrawable = 0x7f030015; + public static int actionModePasteDrawable = 0x7f030016; + public static int actionModePopupWindowStyle = 0x7f030017; + public static int actionModeSelectAllDrawable = 0x7f030018; + public static int actionModeShareDrawable = 0x7f030019; + public static int actionModeSplitBackground = 0x7f03001a; + public static int actionModeStyle = 0x7f03001b; + public static int actionModeWebSearchDrawable = 0x7f03001c; + public static int actionOverflowButtonStyle = 0x7f03001d; + public static int actionOverflowMenuStyle = 0x7f03001e; + public static int actionProviderClass = 0x7f03001f; + public static int actionViewClass = 0x7f030020; + public static int activityChooserViewStyle = 0x7f030021; + public static int alertDialogButtonGroupStyle = 0x7f030022; + public static int alertDialogCenterButtons = 0x7f030023; + public static int alertDialogStyle = 0x7f030024; + public static int alertDialogTheme = 0x7f030025; + public static int allowStacking = 0x7f030026; + public static int alpha = 0x7f030027; + public static int alphabeticModifiers = 0x7f030028; + public static int arrowHeadLength = 0x7f030029; + public static int arrowShaftLength = 0x7f03002a; + public static int autoCompleteTextViewStyle = 0x7f03002b; + public static int autoSizeMaxTextSize = 0x7f03002c; + public static int autoSizeMinTextSize = 0x7f03002d; + public static int autoSizePresetSizes = 0x7f03002e; + public static int autoSizeStepGranularity = 0x7f03002f; + public static int autoSizeTextType = 0x7f030030; + public static int background = 0x7f030031; + public static int backgroundAlmostDark = 0x7f030032; + public static int backgroundDark = 0x7f030033; + public static int backgroundLight = 0x7f030034; + public static int backgroundMedium = 0x7f030035; + public static int backgroundMediumDark = 0x7f030036; + public static int backgroundMediumLight = 0x7f030037; + public static int backgroundMediumMedium = 0x7f030038; + public static int backgroundSplit = 0x7f030039; + public static int backgroundStacked = 0x7f03003a; + public static int backgroundTint = 0x7f03003b; + public static int backgroundTintMode = 0x7f03003c; + public static int backgroundVeryDark = 0x7f03003d; + public static int backgroundVeryVeryDark = 0x7f03003e; + public static int barLength = 0x7f03003f; + public static int borderlessButtonStyle = 0x7f030040; + public static int buttonBarButtonStyle = 0x7f030041; + public static int buttonBarNegativeButtonStyle = 0x7f030042; + public static int buttonBarNeutralButtonStyle = 0x7f030043; + public static int buttonBarPositiveButtonStyle = 0x7f030044; + public static int buttonBarStyle = 0x7f030045; + public static int buttonCompat = 0x7f030046; + public static int buttonGravity = 0x7f030047; + public static int buttonIconDimen = 0x7f030048; + public static int buttonPanelSideLayout = 0x7f030049; + public static int buttonStyle = 0x7f03004a; + public static int buttonStyleSmall = 0x7f03004b; + public static int buttonTint = 0x7f03004c; + public static int buttonTintMode = 0x7f03004d; + public static int camera_id = 0x7f03004e; + public static int checkboxStyle = 0x7f03004f; + public static int checkedTextViewStyle = 0x7f030050; + public static int closeIcon = 0x7f030051; + public static int closeItemLayout = 0x7f030052; + public static int collapseContentDescription = 0x7f030053; + public static int collapseIcon = 0x7f030054; + public static int color = 0x7f030055; + public static int colorAccent = 0x7f030056; + public static int colorAlmostDark = 0x7f030057; + public static int colorBackgroundFloating = 0x7f030058; + public static int colorButtonNormal = 0x7f030059; + public static int colorControlActivated = 0x7f03005a; + public static int colorControlHighlight = 0x7f03005b; + public static int colorControlNormal = 0x7f03005c; + public static int colorError = 0x7f03005d; + public static int colorMedium = 0x7f03005e; + public static int colorMediumLight = 0x7f03005f; + public static int colorMediumMedium = 0x7f030060; + public static int colorPrimary = 0x7f030061; + public static int colorPrimaryDark = 0x7f030062; + public static int colorReady = 0x7f030063; + public static int colorSwitchThumbNormal = 0x7f030064; + public static int colorVeryVeryDark = 0x7f030065; + public static int colors = 0x7f030066; + public static int commitIcon = 0x7f030067; + public static int contentDescription = 0x7f030068; + public static int contentInsetEnd = 0x7f030069; + public static int contentInsetEndWithActions = 0x7f03006a; + public static int contentInsetLeft = 0x7f03006b; + public static int contentInsetRight = 0x7f03006c; + public static int contentInsetStart = 0x7f03006d; + public static int contentInsetStartWithNavigation = 0x7f03006e; + public static int controlBackground = 0x7f03006f; + public static int customNavigationLayout = 0x7f030070; + public static int defaultQueryHint = 0x7f030071; + public static int dialogCornerRadius = 0x7f030072; + public static int dialogPreferredPadding = 0x7f030073; + public static int dialogTheme = 0x7f030074; + public static int displayOptions = 0x7f030075; + public static int divider = 0x7f030076; + public static int dividerHorizontal = 0x7f030077; + public static int dividerPadding = 0x7f030078; + public static int dividerVertical = 0x7f030079; + public static int drawableBottomCompat = 0x7f03007a; + public static int drawableEndCompat = 0x7f03007b; + public static int drawableLeftCompat = 0x7f03007c; + public static int drawableRightCompat = 0x7f03007d; + public static int drawableSize = 0x7f03007e; + public static int drawableStartCompat = 0x7f03007f; + public static int drawableTint = 0x7f030080; + public static int drawableTintMode = 0x7f030081; + public static int drawableTopCompat = 0x7f030082; + public static int drawerArrowStyle = 0x7f030083; + public static int dropDownListViewStyle = 0x7f030084; + public static int dropdownListPreferredItemHeight = 0x7f030085; + public static int editTextBackground = 0x7f030086; + public static int editTextColor = 0x7f030087; + public static int editTextStyle = 0x7f030088; + public static int elevation = 0x7f030089; + public static int expandActivityOverflowButtonDrawable = 0x7f03008a; + public static int feedbackBackground = 0x7f03008b; + public static int feedbackBorder = 0x7f03008c; + public static int feedbackShape = 0x7f03008d; + public static int firstBaselineToTopHeight = 0x7f03008e; + public static int font = 0x7f03008f; + public static int fontFamily = 0x7f030090; + public static int fontProviderAuthority = 0x7f030091; + public static int fontProviderCerts = 0x7f030092; + public static int fontProviderFetchStrategy = 0x7f030093; + public static int fontProviderFetchTimeout = 0x7f030094; + public static int fontProviderPackage = 0x7f030095; + public static int fontProviderQuery = 0x7f030096; + public static int fontStyle = 0x7f030097; + public static int fontVariationSettings = 0x7f030098; + public static int fontWeight = 0x7f030099; + public static int gapBetweenBars = 0x7f03009a; + public static int goIcon = 0x7f03009b; + public static int height = 0x7f03009c; + public static int hideOnContentScroll = 0x7f03009d; + public static int homeAsUpIndicator = 0x7f03009e; + public static int homeLayout = 0x7f03009f; + public static int icon = 0x7f0300a0; + public static int iconTint = 0x7f0300a1; + public static int iconTintMode = 0x7f0300a2; + public static int iconifiedByDefault = 0x7f0300a3; + public static int imageButtonStyle = 0x7f0300a4; + public static int indeterminateProgressStyle = 0x7f0300a5; + public static int initialActivityCount = 0x7f0300a6; + public static int isLightTheme = 0x7f0300a7; + public static int itemPadding = 0x7f0300a8; + public static int lastBaselineToBottomHeight = 0x7f0300a9; + public static int layout = 0x7f0300aa; + public static int lineBright = 0x7f0300ab; + public static int lineHeight = 0x7f0300ac; + public static int lineLight = 0x7f0300ad; + public static int listChoiceBackgroundIndicator = 0x7f0300ae; + public static int listChoiceIndicatorMultipleAnimated = 0x7f0300af; + public static int listChoiceIndicatorSingleAnimated = 0x7f0300b0; + public static int listDividerAlertDialog = 0x7f0300b1; + public static int listItemLayout = 0x7f0300b2; + public static int listLayout = 0x7f0300b3; + public static int listMenuViewStyle = 0x7f0300b4; + public static int listPopupWindowStyle = 0x7f0300b5; + public static int listPreferredItemHeight = 0x7f0300b6; + public static int listPreferredItemHeightLarge = 0x7f0300b7; + public static int listPreferredItemHeightSmall = 0x7f0300b8; + public static int listPreferredItemPaddingEnd = 0x7f0300b9; + public static int listPreferredItemPaddingLeft = 0x7f0300ba; + public static int listPreferredItemPaddingRight = 0x7f0300bb; + public static int listPreferredItemPaddingStart = 0x7f0300bc; + public static int logo = 0x7f0300bd; + public static int logoDescription = 0x7f0300be; + public static int maxButtonHeight = 0x7f0300bf; + public static int measureWithLargestChild = 0x7f0300c0; + public static int menu = 0x7f0300c1; + public static int multiChoiceItemLayout = 0x7f0300c2; + public static int navigationContentDescription = 0x7f0300c3; + public static int navigationIcon = 0x7f0300c4; + public static int navigationMode = 0x7f0300c5; + public static int numericModifiers = 0x7f0300c6; + public static int overlapAnchor = 0x7f0300c7; + public static int paddingBottomNoButtons = 0x7f0300c8; + public static int paddingEnd = 0x7f0300c9; + public static int paddingStart = 0x7f0300ca; + public static int paddingTopNoTitle = 0x7f0300cb; + public static int panelBackground = 0x7f0300cc; + public static int panelMenuListTheme = 0x7f0300cd; + public static int panelMenuListWidth = 0x7f0300ce; + public static int popupMenuStyle = 0x7f0300cf; + public static int popupTheme = 0x7f0300d0; + public static int popupWindowStyle = 0x7f0300d1; + public static int preserveIconSpacing = 0x7f0300d2; + public static int progressBarPadding = 0x7f0300d3; + public static int progressBarStyle = 0x7f0300d4; + public static int queryBackground = 0x7f0300d5; + public static int queryHint = 0x7f0300d6; + public static int radioButtonStyle = 0x7f0300d7; + public static int ratingBarStyle = 0x7f0300d8; + public static int ratingBarStyleIndicator = 0x7f0300d9; + public static int ratingBarStyleSmall = 0x7f0300da; + public static int searchHintIcon = 0x7f0300db; + public static int searchIcon = 0x7f0300dc; + public static int searchViewStyle = 0x7f0300dd; + public static int seekBarStyle = 0x7f0300de; + public static int selectableItemBackground = 0x7f0300df; + public static int selectableItemBackgroundBorderless = 0x7f0300e0; + public static int showAsAction = 0x7f0300e1; + public static int showDividers = 0x7f0300e2; + public static int showText = 0x7f0300e3; + public static int showTitle = 0x7f0300e4; + public static int show_fps = 0x7f0300e5; + public static int singleChoiceItemLayout = 0x7f0300e6; + public static int spinBars = 0x7f0300e7; + public static int spinnerDropDownItemStyle = 0x7f0300e8; + public static int spinnerStyle = 0x7f0300e9; + public static int splitTrack = 0x7f0300ea; + public static int srcCompat = 0x7f0300eb; + public static int state_above_anchor = 0x7f0300ec; + public static int subMenuArrow = 0x7f0300ed; + public static int submitBackground = 0x7f0300ee; + public static int subtitle = 0x7f0300ef; + public static int subtitleTextAppearance = 0x7f0300f0; + public static int subtitleTextColor = 0x7f0300f1; + public static int subtitleTextStyle = 0x7f0300f2; + public static int suggestionRowLayout = 0x7f0300f3; + public static int switchMinWidth = 0x7f0300f4; + public static int switchPadding = 0x7f0300f5; + public static int switchStyle = 0x7f0300f6; + public static int switchTextAppearance = 0x7f0300f7; + public static int textAllCaps = 0x7f0300f8; + public static int textAppearanceLargePopupMenu = 0x7f0300f9; + public static int textAppearanceListItem = 0x7f0300fa; + public static int textAppearanceListItemSecondary = 0x7f0300fb; + public static int textAppearanceListItemSmall = 0x7f0300fc; + public static int textAppearancePopupMenuHeader = 0x7f0300fd; + public static int textAppearanceSearchResultSubtitle = 0x7f0300fe; + public static int textAppearanceSearchResultTitle = 0x7f0300ff; + public static int textAppearanceSmallPopupMenu = 0x7f030100; + public static int textBright = 0x7f030101; + public static int textColorAlertDialogListItem = 0x7f030102; + public static int textColorSearchUrl = 0x7f030103; + public static int textLight = 0x7f030104; + public static int textLocale = 0x7f030105; + public static int textMedium = 0x7f030106; + public static int textMediumAlmostDark = 0x7f030107; + public static int textMediumDark = 0x7f030108; + public static int textMediumLight = 0x7f030109; + public static int textMediumMedium = 0x7f03010a; + public static int textVeryDark = 0x7f03010b; + public static int textVeryVeryDark = 0x7f03010c; + public static int textWhite = 0x7f03010d; + public static int theme = 0x7f03010e; + public static int thickness = 0x7f03010f; + public static int thumbTextPadding = 0x7f030110; + public static int thumbTint = 0x7f030111; + public static int thumbTintMode = 0x7f030112; + public static int tickMark = 0x7f030113; + public static int tickMarkTint = 0x7f030114; + public static int tickMarkTintMode = 0x7f030115; + public static int tint = 0x7f030116; + public static int tintMode = 0x7f030117; + public static int title = 0x7f030118; + public static int titleMargin = 0x7f030119; + public static int titleMarginBottom = 0x7f03011a; + public static int titleMarginEnd = 0x7f03011b; + public static int titleMarginStart = 0x7f03011c; + public static int titleMarginTop = 0x7f03011d; + public static int titleMargins = 0x7f03011e; + public static int titleTextAppearance = 0x7f03011f; + public static int titleTextColor = 0x7f030120; + public static int titleTextStyle = 0x7f030121; + public static int toolbarNavigationButtonStyle = 0x7f030122; + public static int toolbarStyle = 0x7f030123; + public static int tooltipForegroundColor = 0x7f030124; + public static int tooltipFrameBackground = 0x7f030125; + public static int tooltipText = 0x7f030126; + public static int track = 0x7f030127; + public static int trackTint = 0x7f030128; + public static int trackTintMode = 0x7f030129; + public static int ttcIndex = 0x7f03012a; + public static int viewInflaterClass = 0x7f03012b; + public static int voiceIcon = 0x7f03012c; + public static int windowActionBar = 0x7f03012d; + public static int windowActionBarOverlay = 0x7f03012e; + public static int windowActionModeOverlay = 0x7f03012f; + public static int windowFixedHeightMajor = 0x7f030130; + public static int windowFixedHeightMinor = 0x7f030131; + public static int windowFixedWidthMajor = 0x7f030132; + public static int windowFixedWidthMinor = 0x7f030133; + public static int windowMinWidthMajor = 0x7f030134; + public static int windowMinWidthMinor = 0x7f030135; + public static int windowNoTitle = 0x7f030136; + public static int zxing_framing_rect_height = 0x7f030137; + public static int zxing_framing_rect_width = 0x7f030138; + public static int zxing_possible_result_points = 0x7f030139; + public static int zxing_preview_scaling_strategy = 0x7f03013a; + public static int zxing_result_view = 0x7f03013b; + public static int zxing_scanner_layout = 0x7f03013c; + public static int zxing_use_texture_view = 0x7f03013d; + public static int zxing_viewfinder_laser = 0x7f03013e; + public static int zxing_viewfinder_laser_visibility = 0x7f03013f; + public static int zxing_viewfinder_mask = 0x7f030140; + + private attr() { + } + } + + public static final class bool { + public static int abc_action_bar_embed_tabs = 0x7f040000; + public static int abc_allow_stacked_button_bar = 0x7f040001; + public static int abc_config_actionMenuItemAllCaps = 0x7f040002; + + private bool() { + } + } + + public static final class color { + public static int abc_background_cache_hint_selector_material_dark = 0x7f050000; + public static int abc_background_cache_hint_selector_material_light = 0x7f050001; + public static int abc_btn_colored_borderless_text_material = 0x7f050002; + public static int abc_btn_colored_text_material = 0x7f050003; + public static int abc_color_highlight_material = 0x7f050004; + public static int abc_decor_view_status_guard = 0x7f050005; + public static int abc_decor_view_status_guard_light = 0x7f050006; + public static int abc_hint_foreground_material_dark = 0x7f050007; + public static int abc_hint_foreground_material_light = 0x7f050008; + public static int abc_primary_text_disable_only_material_dark = 0x7f050009; + public static int abc_primary_text_disable_only_material_light = 0x7f05000a; + public static int abc_primary_text_material_dark = 0x7f05000b; + public static int abc_primary_text_material_light = 0x7f05000c; + public static int abc_search_url_text = 0x7f05000d; + public static int abc_search_url_text_normal = 0x7f05000e; + public static int abc_search_url_text_pressed = 0x7f05000f; + public static int abc_search_url_text_selected = 0x7f050010; + public static int abc_secondary_text_material_dark = 0x7f050011; + public static int abc_secondary_text_material_light = 0x7f050012; + public static int abc_tint_btn_checkable = 0x7f050013; + public static int abc_tint_default = 0x7f050014; + public static int abc_tint_edittext = 0x7f050015; + public static int abc_tint_seek_thumb = 0x7f050016; + public static int abc_tint_spinner = 0x7f050017; + public static int abc_tint_switch_track = 0x7f050018; + public static int accent_material_dark = 0x7f050019; + public static int accent_material_light = 0x7f05001a; + public static int active_button_green = 0x7f05001b; + public static int almost_dark_blue = 0x7f05001c; + public static int almost_dark_green = 0x7f05001d; + public static int almost_dark_orange = 0x7f05001e; + public static int almost_dark_purple = 0x7f05001f; + public static int almost_dark_red = 0x7f050020; + public static int almost_dark_teal = 0x7f050021; + public static int androidx_core_ripple_material_light = 0x7f050022; + public static int androidx_core_secondary_text_default_material_light = 0x7f050023; + public static int background_black = 0x7f050024; + public static int background_dark_gray = 0x7f050025; + public static int background_floating_material_dark = 0x7f050026; + public static int background_floating_material_light = 0x7f050027; + public static int background_material_dark = 0x7f050028; + public static int background_material_light = 0x7f050029; + public static int background_orange = 0x7f05002a; + public static int background_very_light_grey = 0x7f05002b; + public static int background_white = 0x7f05002c; + public static int border_orange = 0x7f05002d; + public static int bright_blue = 0x7f05002e; + public static int bright_foreground_disabled_material_dark = 0x7f05002f; + public static int bright_foreground_disabled_material_light = 0x7f050030; + public static int bright_foreground_inverse_material_dark = 0x7f050031; + public static int bright_foreground_inverse_material_light = 0x7f050032; + public static int bright_foreground_material_dark = 0x7f050033; + public static int bright_foreground_material_light = 0x7f050034; + public static int bright_green = 0x7f050035; + public static int bright_orange = 0x7f050036; + public static int bright_purple = 0x7f050037; + public static int bright_red = 0x7f050038; + public static int bright_teal = 0x7f050039; + public static int button_material_dark = 0x7f05003a; + public static int button_material_light = 0x7f05003b; + public static int c_gray = 0x7f05003c; + public static int d_gray = 0x7f05003d; + public static int dark_blue = 0x7f05003e; + public static int dark_green = 0x7f05003f; + public static int dark_orange = 0x7f050040; + public static int dark_purple = 0x7f050041; + public static int dark_red = 0x7f050042; + public static int dark_teal = 0x7f050043; + public static int dim_foreground_disabled_material_dark = 0x7f050045; + public static int dim_foreground_disabled_material_light = 0x7f050046; + public static int dim_foreground_material_dark = 0x7f050047; + public static int dim_foreground_material_light = 0x7f050048; + public static int e_gray = 0x7f050049; + public static int error_color_material_dark = 0x7f05004a; + public static int error_color_material_light = 0x7f05004b; + public static int firstblue = 0x7f05004c; + public static int firstgreen = 0x7f05004d; + public static int firstorange = 0x7f05004e; + public static int firstred = 0x7f05004f; + public static int foreground_material_dark = 0x7f050050; + public static int foreground_material_light = 0x7f050051; + public static int highlighted_text_material_dark = 0x7f050052; + public static int highlighted_text_material_light = 0x7f050053; + public static int inactive_button_gray = 0x7f050054; + public static int info_shadow = 0x7f050055; + public static int light_blue = 0x7f050056; + public static int light_green = 0x7f050057; + public static int light_orange = 0x7f050058; + public static int light_purple = 0x7f050059; + public static int light_red = 0x7f05005a; + public static int light_teal = 0x7f05005b; + public static int line_gray = 0x7f05005c; + public static int logviewer_bgcolor = 0x7f05005d; + public static int material_blue_grey_800 = 0x7f05005e; + public static int material_blue_grey_900 = 0x7f05005f; + public static int material_blue_grey_950 = 0x7f050060; + public static int material_deep_teal_200 = 0x7f050061; + public static int material_deep_teal_500 = 0x7f050062; + public static int material_grey_100 = 0x7f050063; + public static int material_grey_300 = 0x7f050064; + public static int material_grey_50 = 0x7f050065; + public static int material_grey_600 = 0x7f050066; + public static int material_grey_800 = 0x7f050067; + public static int material_grey_850 = 0x7f050068; + public static int material_grey_900 = 0x7f050069; + public static int medium_blue = 0x7f05006a; + public static int medium_dark_blue = 0x7f05006b; + public static int medium_dark_green = 0x7f05006c; + public static int medium_dark_orange = 0x7f05006d; + public static int medium_dark_purple = 0x7f05006e; + public static int medium_dark_red = 0x7f05006f; + public static int medium_dark_teal = 0x7f050070; + public static int medium_green = 0x7f050071; + public static int medium_light_blue = 0x7f050072; + public static int medium_light_green = 0x7f050073; + public static int medium_light_orange = 0x7f050074; + public static int medium_light_purple = 0x7f050075; + public static int medium_light_red = 0x7f050076; + public static int medium_light_teal = 0x7f050077; + public static int medium_medium_blue = 0x7f050078; + public static int medium_medium_green = 0x7f050079; + public static int medium_medium_orange = 0x7f05007a; + public static int medium_medium_purple = 0x7f05007b; + public static int medium_medium_red = 0x7f05007c; + public static int medium_medium_teal = 0x7f05007d; + public static int medium_orange = 0x7f05007e; + public static int medium_purple = 0x7f05007f; + public static int medium_red = 0x7f050080; + public static int medium_teal = 0x7f050081; + public static int notification_action_color_filter = 0x7f050082; + public static int notification_icon_bg_color = 0x7f050083; + public static int primary_dark_material_dark = 0x7f050084; + public static int primary_dark_material_light = 0x7f050085; + public static int primary_material_dark = 0x7f050086; + public static int primary_material_light = 0x7f050087; + public static int primary_text_default_material_dark = 0x7f050088; + public static int primary_text_default_material_light = 0x7f050089; + public static int primary_text_disabled_material_dark = 0x7f05008a; + public static int primary_text_disabled_material_light = 0x7f05008b; + public static int ripple_material_dark = 0x7f05008c; + public static int ripple_material_light = 0x7f05008d; + public static int secondary_text_default_material_dark = 0x7f05008e; + public static int secondary_text_default_material_light = 0x7f05008f; + public static int secondary_text_disabled_material_dark = 0x7f050090; + public static int secondary_text_disabled_material_light = 0x7f050091; + public static int switch_thumb_disabled_material_dark = 0x7f050092; + public static int switch_thumb_disabled_material_light = 0x7f050093; + public static int switch_thumb_material_dark = 0x7f050094; + public static int switch_thumb_material_light = 0x7f050095; + public static int switch_thumb_normal_material_dark = 0x7f050096; + public static int switch_thumb_normal_material_light = 0x7f050097; + public static int text_error = 0x7f050098; + public static int text_okay = 0x7f050099; + public static int text_warning = 0x7f05009a; + public static int text_white = 0x7f05009b; + public static int tooltip_background_dark = 0x7f05009c; + public static int tooltip_background_light = 0x7f05009d; + public static int very_dark_blue = 0x7f05009e; + public static int very_dark_green = 0x7f05009f; + public static int very_dark_orange = 0x7f0500a0; + public static int very_dark_purple = 0x7f0500a1; + public static int very_dark_red = 0x7f0500a2; + public static int very_dark_teal = 0x7f0500a3; + public static int very_very_dark_blue = 0x7f0500a4; + public static int very_very_dark_green = 0x7f0500a5; + public static int very_very_dark_orange = 0x7f0500a6; + public static int very_very_dark_purple = 0x7f0500a7; + public static int very_very_dark_red = 0x7f0500a8; + public static int very_very_dark_teal = 0x7f0500a9; + public static int zxing_custom_possible_result_points = 0x7f0500aa; + public static int zxing_custom_result_view = 0x7f0500ab; + public static int zxing_custom_viewfinder_laser = 0x7f0500ac; + public static int zxing_custom_viewfinder_mask = 0x7f0500ad; + public static int zxing_possible_result_points = 0x7f0500ae; + public static int zxing_result_view = 0x7f0500af; + public static int zxing_status_text = 0x7f0500b0; + public static int zxing_transparent = 0x7f0500b1; + public static int zxing_viewfinder_laser = 0x7f0500b2; + public static int zxing_viewfinder_mask = 0x7f0500b3; + + private color() { + } + } + + public static final class dimen { + public static int abc_action_bar_content_inset_material = 0x7f060000; + public static int abc_action_bar_content_inset_with_nav = 0x7f060001; + public static int abc_action_bar_default_height_material = 0x7f060002; + public static int abc_action_bar_default_padding_end_material = 0x7f060003; + public static int abc_action_bar_default_padding_start_material = 0x7f060004; + public static int abc_action_bar_elevation_material = 0x7f060005; + public static int abc_action_bar_icon_vertical_padding_material = 0x7f060006; + public static int abc_action_bar_overflow_padding_end_material = 0x7f060007; + public static int abc_action_bar_overflow_padding_start_material = 0x7f060008; + public static int abc_action_bar_stacked_max_height = 0x7f060009; + public static int abc_action_bar_stacked_tab_max_width = 0x7f06000a; + public static int abc_action_bar_subtitle_bottom_margin_material = 0x7f06000b; + public static int abc_action_bar_subtitle_top_margin_material = 0x7f06000c; + public static int abc_action_button_min_height_material = 0x7f06000d; + public static int abc_action_button_min_width_material = 0x7f06000e; + public static int abc_action_button_min_width_overflow_material = 0x7f06000f; + public static int abc_alert_dialog_button_bar_height = 0x7f060010; + public static int abc_alert_dialog_button_dimen = 0x7f060011; + public static int abc_button_inset_horizontal_material = 0x7f060012; + public static int abc_button_inset_vertical_material = 0x7f060013; + public static int abc_button_padding_horizontal_material = 0x7f060014; + public static int abc_button_padding_vertical_material = 0x7f060015; + public static int abc_cascading_menus_min_smallest_width = 0x7f060016; + public static int abc_config_prefDialogWidth = 0x7f060017; + public static int abc_control_corner_material = 0x7f060018; + public static int abc_control_inset_material = 0x7f060019; + public static int abc_control_padding_material = 0x7f06001a; + public static int abc_dialog_corner_radius_material = 0x7f06001b; + public static int abc_dialog_fixed_height_major = 0x7f06001c; + public static int abc_dialog_fixed_height_minor = 0x7f06001d; + public static int abc_dialog_fixed_width_major = 0x7f06001e; + public static int abc_dialog_fixed_width_minor = 0x7f06001f; + public static int abc_dialog_list_padding_bottom_no_buttons = 0x7f060020; + public static int abc_dialog_list_padding_top_no_title = 0x7f060021; + public static int abc_dialog_min_width_major = 0x7f060022; + public static int abc_dialog_min_width_minor = 0x7f060023; + public static int abc_dialog_padding_material = 0x7f060024; + public static int abc_dialog_padding_top_material = 0x7f060025; + public static int abc_dialog_title_divider_material = 0x7f060026; + public static int abc_disabled_alpha_material_dark = 0x7f060027; + public static int abc_disabled_alpha_material_light = 0x7f060028; + public static int abc_dropdownitem_icon_width = 0x7f060029; + public static int abc_dropdownitem_text_padding_left = 0x7f06002a; + public static int abc_dropdownitem_text_padding_right = 0x7f06002b; + public static int abc_edit_text_inset_bottom_material = 0x7f06002c; + public static int abc_edit_text_inset_horizontal_material = 0x7f06002d; + public static int abc_edit_text_inset_top_material = 0x7f06002e; + public static int abc_floating_window_z = 0x7f06002f; + public static int abc_list_item_height_large_material = 0x7f060030; + public static int abc_list_item_height_material = 0x7f060031; + public static int abc_list_item_height_small_material = 0x7f060032; + public static int abc_list_item_padding_horizontal_material = 0x7f060033; + public static int abc_panel_menu_list_width = 0x7f060034; + public static int abc_progress_bar_height_material = 0x7f060035; + public static int abc_search_view_preferred_height = 0x7f060036; + public static int abc_search_view_preferred_width = 0x7f060037; + public static int abc_seekbar_track_background_height_material = 0x7f060038; + public static int abc_seekbar_track_progress_height_material = 0x7f060039; + public static int abc_select_dialog_padding_start_material = 0x7f06003a; + public static int abc_switch_padding = 0x7f06003b; + public static int abc_text_size_body_1_material = 0x7f06003c; + public static int abc_text_size_body_2_material = 0x7f06003d; + public static int abc_text_size_button_material = 0x7f06003e; + public static int abc_text_size_caption_material = 0x7f06003f; + public static int abc_text_size_display_1_material = 0x7f060040; + public static int abc_text_size_display_2_material = 0x7f060041; + public static int abc_text_size_display_3_material = 0x7f060042; + public static int abc_text_size_display_4_material = 0x7f060043; + public static int abc_text_size_headline_material = 0x7f060044; + public static int abc_text_size_large_material = 0x7f060045; + public static int abc_text_size_medium_material = 0x7f060046; + public static int abc_text_size_menu_header_material = 0x7f060047; + public static int abc_text_size_menu_material = 0x7f060048; + public static int abc_text_size_small_material = 0x7f060049; + public static int abc_text_size_subhead_material = 0x7f06004a; + public static int abc_text_size_subtitle_material_toolbar = 0x7f06004b; + public static int abc_text_size_title_material = 0x7f06004c; + public static int abc_text_size_title_material_toolbar = 0x7f06004d; + public static int activity_horizontal_margin = 0x7f06004e; + public static int activity_vertical_margin = 0x7f06004f; + public static int compat_button_inset_horizontal_material = 0x7f060050; + public static int compat_button_inset_vertical_material = 0x7f060051; + public static int compat_button_padding_horizontal_material = 0x7f060052; + public static int compat_button_padding_vertical_material = 0x7f060053; + public static int compat_control_corner_material = 0x7f060054; + public static int compat_notification_large_icon_max_height = 0x7f060055; + public static int compat_notification_large_icon_max_width = 0x7f060056; + public static int disabled_alpha_material_dark = 0x7f060057; + public static int disabled_alpha_material_light = 0x7f060058; + public static int highlight_alpha_material_colored = 0x7f060059; + public static int highlight_alpha_material_dark = 0x7f06005a; + public static int highlight_alpha_material_light = 0x7f06005b; + public static int hint_alpha_material_dark = 0x7f06005c; + public static int hint_alpha_material_light = 0x7f06005d; + public static int hint_pressed_alpha_material_dark = 0x7f06005e; + public static int hint_pressed_alpha_material_light = 0x7f06005f; + public static int notification_action_icon_size = 0x7f060060; + public static int notification_action_text_size = 0x7f060061; + public static int notification_big_circle_margin = 0x7f060062; + public static int notification_content_margin_start = 0x7f060063; + public static int notification_large_icon_height = 0x7f060064; + public static int notification_large_icon_width = 0x7f060065; + public static int notification_main_column_padding_top = 0x7f060066; + public static int notification_media_narrow_margin = 0x7f060067; + public static int notification_right_icon_size = 0x7f060068; + public static int notification_right_side_padding_top = 0x7f060069; + public static int notification_small_icon_background_padding = 0x7f06006a; + public static int notification_small_icon_size_as_large = 0x7f06006b; + public static int notification_subtext_size = 0x7f06006c; + public static int notification_top_pad = 0x7f06006d; + public static int notification_top_pad_large_text = 0x7f06006e; + public static int tooltip_corner_radius = 0x7f06006f; + public static int tooltip_horizontal_padding = 0x7f060070; + public static int tooltip_margin = 0x7f060071; + public static int tooltip_precise_anchor_extra_offset = 0x7f060072; + public static int tooltip_precise_anchor_threshold = 0x7f060073; + public static int tooltip_vertical_padding = 0x7f060074; + public static int tooltip_y_offset_non_touch = 0x7f060075; + public static int tooltip_y_offset_touch = 0x7f060076; + + private dimen() { + } + } + + public static final class drawable { + public static int abc_ab_share_pack_mtrl_alpha = 0x7f070000; + public static int abc_action_bar_item_background_material = 0x7f070001; + public static int abc_btn_borderless_material = 0x7f070002; + public static int abc_btn_check_material = 0x7f070003; + public static int abc_btn_check_material_anim = 0x7f070004; + public static int abc_btn_check_to_on_mtrl_000 = 0x7f070005; + public static int abc_btn_check_to_on_mtrl_015 = 0x7f070006; + public static int abc_btn_colored_material = 0x7f070007; + public static int abc_btn_default_mtrl_shape = 0x7f070008; + public static int abc_btn_radio_material = 0x7f070009; + public static int abc_btn_radio_material_anim = 0x7f07000a; + public static int abc_btn_radio_to_on_mtrl_000 = 0x7f07000b; + public static int abc_btn_radio_to_on_mtrl_015 = 0x7f07000c; + public static int abc_btn_switch_to_on_mtrl_00001 = 0x7f07000d; + public static int abc_btn_switch_to_on_mtrl_00012 = 0x7f07000e; + public static int abc_cab_background_internal_bg = 0x7f07000f; + public static int abc_cab_background_top_material = 0x7f070010; + public static int abc_cab_background_top_mtrl_alpha = 0x7f070011; + public static int abc_control_background_material = 0x7f070012; + public static int abc_dialog_material_background = 0x7f070013; + public static int abc_edit_text_material = 0x7f070014; + public static int abc_ic_ab_back_material = 0x7f070015; + public static int abc_ic_arrow_drop_right_black_24dp = 0x7f070016; + public static int abc_ic_clear_material = 0x7f070017; + public static int abc_ic_commit_search_api_mtrl_alpha = 0x7f070018; + public static int abc_ic_go_search_api_material = 0x7f070019; + public static int abc_ic_menu_copy_mtrl_am_alpha = 0x7f07001a; + public static int abc_ic_menu_cut_mtrl_alpha = 0x7f07001b; + public static int abc_ic_menu_overflow_material = 0x7f07001c; + public static int abc_ic_menu_paste_mtrl_am_alpha = 0x7f07001d; + public static int abc_ic_menu_selectall_mtrl_alpha = 0x7f07001e; + public static int abc_ic_menu_share_mtrl_alpha = 0x7f07001f; + public static int abc_ic_search_api_material = 0x7f070020; + public static int abc_ic_star_black_16dp = 0x7f070021; + public static int abc_ic_star_black_36dp = 0x7f070022; + public static int abc_ic_star_black_48dp = 0x7f070023; + public static int abc_ic_star_half_black_16dp = 0x7f070024; + public static int abc_ic_star_half_black_36dp = 0x7f070025; + public static int abc_ic_star_half_black_48dp = 0x7f070026; + public static int abc_ic_voice_search_api_material = 0x7f070027; + public static int abc_item_background_holo_dark = 0x7f070028; + public static int abc_item_background_holo_light = 0x7f070029; + public static int abc_list_divider_material = 0x7f07002a; + public static int abc_list_divider_mtrl_alpha = 0x7f07002b; + public static int abc_list_focused_holo = 0x7f07002c; + public static int abc_list_longpressed_holo = 0x7f07002d; + public static int abc_list_pressed_holo_dark = 0x7f07002e; + public static int abc_list_pressed_holo_light = 0x7f07002f; + public static int abc_list_selector_background_transition_holo_dark = 0x7f070030; + public static int abc_list_selector_background_transition_holo_light = 0x7f070031; + public static int abc_list_selector_disabled_holo_dark = 0x7f070032; + public static int abc_list_selector_disabled_holo_light = 0x7f070033; + public static int abc_list_selector_holo_dark = 0x7f070034; + public static int abc_list_selector_holo_light = 0x7f070035; + public static int abc_menu_hardkey_panel_mtrl_mult = 0x7f070036; + public static int abc_popup_background_mtrl_mult = 0x7f070037; + public static int abc_ratingbar_indicator_material = 0x7f070038; + public static int abc_ratingbar_material = 0x7f070039; + public static int abc_ratingbar_small_material = 0x7f07003a; + public static int abc_scrubber_control_off_mtrl_alpha = 0x7f07003b; + public static int abc_scrubber_control_to_pressed_mtrl_000 = 0x7f07003c; + public static int abc_scrubber_control_to_pressed_mtrl_005 = 0x7f07003d; + public static int abc_scrubber_primary_mtrl_alpha = 0x7f07003e; + public static int abc_scrubber_track_mtrl_alpha = 0x7f07003f; + public static int abc_seekbar_thumb_material = 0x7f070040; + public static int abc_seekbar_tick_mark_material = 0x7f070041; + public static int abc_seekbar_track_material = 0x7f070042; + public static int abc_spinner_mtrl_am_alpha = 0x7f070043; + public static int abc_spinner_textfield_background_material = 0x7f070044; + public static int abc_switch_thumb_material = 0x7f070045; + public static int abc_switch_track_mtrl_alpha = 0x7f070046; + public static int abc_tab_indicator_material = 0x7f070047; + public static int abc_tab_indicator_mtrl_alpha = 0x7f070048; + public static int abc_text_cursor_material = 0x7f070049; + public static int abc_text_select_handle_left_mtrl_dark = 0x7f07004a; + public static int abc_text_select_handle_left_mtrl_light = 0x7f07004b; + public static int abc_text_select_handle_middle_mtrl_dark = 0x7f07004c; + public static int abc_text_select_handle_middle_mtrl_light = 0x7f07004d; + public static int abc_text_select_handle_right_mtrl_dark = 0x7f07004e; + public static int abc_text_select_handle_right_mtrl_light = 0x7f07004f; + public static int abc_textfield_activated_mtrl_alpha = 0x7f070050; + public static int abc_textfield_default_mtrl_alpha = 0x7f070051; + public static int abc_textfield_search_activated_mtrl_alpha = 0x7f070052; + public static int abc_textfield_search_default_mtrl_alpha = 0x7f070053; + public static int abc_textfield_search_material = 0x7f070054; + public static int abc_vector_test = 0x7f070055; + public static int black_border = 0x7f070056; + public static int btn_checkbox_checked_mtrl = 0x7f070057; + public static int btn_checkbox_checked_to_unchecked_mtrl_animation = 0x7f070058; + public static int btn_checkbox_unchecked_mtrl = 0x7f070059; + public static int btn_checkbox_unchecked_to_checked_mtrl_animation = 0x7f07005a; + public static int btn_radio_off_mtrl = 0x7f07005b; + public static int btn_radio_off_to_on_mtrl_animation = 0x7f07005c; + public static int btn_radio_on_mtrl = 0x7f07005d; + public static int btn_radio_on_to_off_mtrl_animation = 0x7f07005e; + public static int button_shape = 0x7f07005f; + public static int decode_background = 0x7f070060; + public static int feedback_shape_orange = 0x7f070061; + public static int ic_arrow_back_black_24dp = 0x7f070062; + public static int ic_check_circle = 0x7f070063; + public static int ic_error = 0x7f070064; + public static int ic_error_yellow = 0x7f070065; + public static int ic_launcher = 0x7f070066; + public static int ic_warning = 0x7f070067; + public static int icon_menu = 0x7f070068; + public static int icon_robotcontroller = 0x7f070069; + public static int notification_action_background = 0x7f07006a; + public static int notification_bg = 0x7f07006b; + public static int notification_bg_low = 0x7f07006c; + public static int notification_bg_low_normal = 0x7f07006d; + public static int notification_bg_low_pressed = 0x7f07006e; + public static int notification_bg_normal = 0x7f07006f; + public static int notification_bg_normal_pressed = 0x7f070070; + public static int notification_icon_background = 0x7f070071; + public static int notification_template_icon_bg = 0x7f070072; + public static int notification_template_icon_low_bg = 0x7f070073; + public static int notification_tile_bg = 0x7f070074; + public static int notify_panel_notification_icon_bg = 0x7f070075; + public static int tooltip_frame_dark = 0x7f070076; + public static int tooltip_frame_light = 0x7f070077; + + private drawable() { + } + } + + public static final class id { + public static int accessibility_action_clickable_span = 0x7f080007; + public static int accessibility_custom_action_0 = 0x7f080008; + public static int accessibility_custom_action_1 = 0x7f080009; + public static int accessibility_custom_action_10 = 0x7f08000a; + public static int accessibility_custom_action_11 = 0x7f08000b; + public static int accessibility_custom_action_12 = 0x7f08000c; + public static int accessibility_custom_action_13 = 0x7f08000d; + public static int accessibility_custom_action_14 = 0x7f08000e; + public static int accessibility_custom_action_15 = 0x7f08000f; + public static int accessibility_custom_action_16 = 0x7f080010; + public static int accessibility_custom_action_17 = 0x7f080011; + public static int accessibility_custom_action_18 = 0x7f080012; + public static int accessibility_custom_action_19 = 0x7f080013; + public static int accessibility_custom_action_2 = 0x7f080014; + public static int accessibility_custom_action_20 = 0x7f080015; + public static int accessibility_custom_action_21 = 0x7f080016; + public static int accessibility_custom_action_22 = 0x7f080017; + public static int accessibility_custom_action_23 = 0x7f080018; + public static int accessibility_custom_action_24 = 0x7f080019; + public static int accessibility_custom_action_25 = 0x7f08001a; + public static int accessibility_custom_action_26 = 0x7f08001b; + public static int accessibility_custom_action_27 = 0x7f08001c; + public static int accessibility_custom_action_28 = 0x7f08001d; + public static int accessibility_custom_action_29 = 0x7f08001e; + public static int accessibility_custom_action_3 = 0x7f08001f; + public static int accessibility_custom_action_30 = 0x7f080020; + public static int accessibility_custom_action_31 = 0x7f080021; + public static int accessibility_custom_action_4 = 0x7f080022; + public static int accessibility_custom_action_5 = 0x7f080023; + public static int accessibility_custom_action_6 = 0x7f080024; + public static int accessibility_custom_action_7 = 0x7f080025; + public static int accessibility_custom_action_8 = 0x7f080026; + public static int accessibility_custom_action_9 = 0x7f080027; + public static int action_bar = 0x7f080029; + public static int action_bar_activity_content = 0x7f08002a; + public static int action_bar_container = 0x7f08002b; + public static int action_bar_root = 0x7f08002c; + public static int action_bar_spinner = 0x7f08002d; + public static int action_bar_subtitle = 0x7f08002e; + public static int action_bar_title = 0x7f08002f; + public static int action_container = 0x7f080031; + public static int action_context_bar = 0x7f080032; + public static int action_divider = 0x7f080033; + public static int action_image = 0x7f080035; + public static int action_menu_divider = 0x7f080037; + public static int action_menu_presenter = 0x7f080038; + public static int action_mode_bar = 0x7f080039; + public static int action_mode_bar_stub = 0x7f08003a; + public static int action_mode_close_button = 0x7f08003b; + public static int action_text = 0x7f08003f; + public static int actions = 0x7f080040; + public static int activity_chooser_view_content = 0x7f080041; + public static int add = 0x7f080042; + public static int addButton = 0x7f080043; + public static int airplaneMode = 0x7f080044; + public static int airplaneModeLayout = 0x7f080045; + public static int airplaneMode_img = 0x7f080046; + public static int alertTitle = 0x7f080047; + public static int androidVersion = 0x7f080049; + public static int androidVersionLayout = 0x7f08004a; + public static int androidVersion_img = 0x7f08004b; + public static int any = 0x7f08004c; + public static int applyButton = 0x7f08004d; + public static int appsInstalled = 0x7f08004e; + public static int async = 0x7f08004f; + public static int attached_title = 0x7f080050; + public static int autoInspectQr = 0x7f080051; + public static int back = 0x7f080052; + public static int backButton = 0x7f080053; + public static int backbar = 0x7f080054; + public static int backgroundDarkGrayHolder = 0x7f080055; + public static int backgroundLightHolder = 0x7f080056; + public static int backgroundMediumHolder = 0x7f080057; + public static int bannerParent = 0x7f080058; + public static int batteryLevel = 0x7f080059; + public static int blocking = 0x7f08005b; + public static int bluetoothEnabled = 0x7f08005c; + public static int bluetoothEnabled_img = 0x7f08005d; + public static int bottom = 0x7f08005e; + public static int buttonList = 0x7f08005f; + public static int buttonPanel = 0x7f080060; + public static int bytesPerSecond = 0x7f080061; + public static int bytesPerSecondLabel = 0x7f080062; + public static int cameraName = 0x7f080064; + public static int cancelButton = 0x7f080065; + public static int centerCrop = 0x7f080066; + public static int channelPickList = 0x7f080068; + public static int checkbox = 0x7f080069; + public static int checkbox_port = 0x7f08006a; + public static int checked = 0x7f08006b; + public static int choiceMotorSpinner = 0x7f08006c; + public static int choiceSpinner = 0x7f08006d; + public static int chronometer = 0x7f08006e; + public static int colorSwatch = 0x7f080070; + public static int configIsReadOnlyFeedback = 0x7f080071; + public static int configureButton = 0x7f080072; + public static int configureFromTemplate = 0x7f080073; + public static int configureFromTemplateArea = 0x7f080074; + public static int connectedToDevice = 0x7f080075; + public static int connectedToLayout = 0x7f080076; + public static int connectedTo_img = 0x7f080077; + public static int container = 0x7f080078; + public static int content = 0x7f080079; + public static int contentPanel = 0x7f08007a; + public static int controller_name = 0x7f08007b; + public static int controller_name_prompt_text = 0x7f08007c; + public static int controllersList = 0x7f08007d; + public static int countdownDescription = 0x7f08007e; + public static int countdownNumber = 0x7f08007f; + public static int custom = 0x7f080080; + public static int customPanel = 0x7f080081; + public static int darker_gray_line = 0x7f080082; + public static int decor_content_parent = 0x7f080083; + public static int default_activity_button = 0x7f080084; + public static int devices_holder = 0x7f080085; + public static int devices_info_btn = 0x7f080086; + public static int dialog_button = 0x7f080087; + public static int disable_bluetooth = 0x7f080089; + public static int disconnect_from_wifidirect = 0x7f08008a; + public static int divider = 0x7f08008b; + public static int doneButton = 0x7f08008c; + public static int dropdown_layout = 0x7f08008d; + public static int editTextResult = 0x7f08008e; + public static int edit_controller_btn = 0x7f08008f; + public static int edit_query = 0x7f080090; + public static int empty_filelist = 0x7f080091; + public static int end = 0x7f080092; + public static int entire_screen = 0x7f080093; + public static int ethernetDeviceIpAddress = 0x7f080094; + public static int ethernetDeviceName = 0x7f080095; + public static int expand_activities_button = 0x7f080096; + public static int expanded_menu = 0x7f080097; + public static int explanationText = 0x7f080098; + public static int feedback = 0x7f080099; + public static int feedbackAnchor = 0x7f08009a; + public static int feedbackAnchorDuplicateNames = 0x7f08009b; + public static int feedbackOKButton = 0x7f08009c; + public static int feedbackText0 = 0x7f08009d; + public static int feedbackText1 = 0x7f08009e; + public static int file_activate_button = 0x7f08009f; + public static int file_buttons = 0x7f0800a0; + public static int file_delete_button = 0x7f0800a1; + public static int file_edit_button = 0x7f0800a2; + public static int file_info_layout = 0x7f0800a3; + public static int filename_editText = 0x7f0800a4; + public static int files_holder = 0x7f0800a5; + public static int fitCenter = 0x7f0800a6; + public static int fitXY = 0x7f0800a7; + public static int fixButton = 0x7f0800a8; + public static int forever = 0x7f0800a9; + public static int front = 0x7f0800aa; + public static int groupList = 0x7f0800ab; + public static int group_divider = 0x7f0800ac; + public static int header = 0x7f0800ad; + public static int header_error_message = 0x7f0800ae; + public static int holds_buttons = 0x7f0800af; + public static int home = 0x7f0800b0; + public static int horizontalButtons = 0x7f0800b2; + public static int hubFirmwareExtraLine = 0x7f0800b3; + public static int hubFirmwareExtraLine_img = 0x7f0800b4; + public static int hubFirmwareExtraLine_layout = 0x7f0800b5; + public static int hubFirmwarePrimaryLine = 0x7f0800b6; + public static int hubFirmwarePrimaryLine_layout = 0x7f0800b7; + public static int hubFirmware_img = 0x7f0800b8; + public static int icon = 0x7f0800b9; + public static int icon_group = 0x7f0800ba; + public static int idActiveConfigHeader = 0x7f0800bb; + public static int idActiveConfigName = 0x7f0800bc; + public static int image = 0x7f0800be; + public static int imageView = 0x7f0800bf; + public static int included_header = 0x7f0800c0; + public static int inclusionlayout = 0x7f0800c1; + public static int info = 0x7f0800c2; + public static int infoButton = 0x7f0800c3; + public static int info_btn = 0x7f0800c4; + public static int inspectionRootLayout = 0x7f0800c5; + public static int invalidQr = 0x7f0800c6; + public static int ipAddressExplanationLabel = 0x7f0800c7; + public static int isDSInstalled = 0x7f0800c8; + public static int isDefaultPassword = 0x7f0800c9; + public static int isDefaultPassword_img = 0x7f0800ca; + public static int isRCInstalled = 0x7f0800cb; + public static int italic = 0x7f0800cc; + public static int item_list_parent = 0x7f0800cd; + public static int labelManufacturer = 0x7f0800ce; + public static int labelModel = 0x7f0800cf; + public static int labelWifiName = 0x7f0800d0; + public static int line1 = 0x7f0800d1; + public static int line3 = 0x7f0800d2; + public static int linearLayout = 0x7f0800d3; + public static int listMode = 0x7f0800d4; + public static int list_item = 0x7f0800d5; + public static int load_bottom = 0x7f0800d6; + public static int loadingIndicator = 0x7f0800d7; + public static int loadingIndicatorOverlay = 0x7f0800d8; + public static int locationEnabled = 0x7f0800d9; + public static int locationEnabled_img = 0x7f0800da; + public static int locationLabel = 0x7f0800db; + public static int lynxAddressButtons = 0x7f0800dc; + public static int lynxFirmwareAvailableFilesGroup = 0x7f0800dd; + public static int lynxFirmwareFilesHeader = 0x7f0800de; + public static int lynxFirmwareHubsHeader = 0x7f0800df; + public static int lynxFirmwareInstructionsPost = 0x7f0800e0; + public static int lynxFirmwareModuleList = 0x7f0800e1; + public static int lynxFirmwareUpdateButton = 0x7f0800e2; + public static int lynxUsbDeviceModules = 0x7f0800e3; + public static int lynxUsbDeviceName = 0x7f0800e4; + public static int lynx_module_devices = 0x7f0800e5; + public static int lynx_module_name = 0x7f0800e6; + public static int matchesDSVersionLabel = 0x7f0800e7; + public static int matchesDSVersion_img = 0x7f0800e8; + public static int matchesDSVersion_txt = 0x7f0800e9; + public static int menu_buttons = 0x7f0800ea; + public static int message = 0x7f0800eb; + public static int moduleAddressText = 0x7f0800ed; + public static int multiply = 0x7f0800ef; + public static int new_button = 0x7f0800f1; + public static int noDevicesNotice = 0x7f0800f2; + public static int none = 0x7f0800f3; + public static int normal = 0x7f0800f4; + public static int notification_background = 0x7f0800f5; + public static int notification_main_column = 0x7f0800f6; + public static int notification_main_column_container = 0x7f0800f7; + public static int off = 0x7f0800f8; + public static int okButton = 0x7f0800f9; + public static int on = 0x7f0800fa; + public static int orange_end_of_list_anchor = 0x7f0800fb; + public static int osVersion = 0x7f0800fc; + public static int osVersionLabel = 0x7f0800fd; + public static int osVersionLayout = 0x7f0800fe; + public static int osVersion_img = 0x7f0800ff; + public static int parentPanel = 0x7f080100; + public static int permDeniedText = 0x7f080101; + public static int portNumber = 0x7f080102; + public static int port_number = 0x7f080103; + public static int port_title = 0x7f080104; + public static int portalList = 0x7f080105; + public static int portalSerialText = 0x7f080106; + public static int progress_circular = 0x7f080107; + public static int progress_horizontal = 0x7f080108; + public static int radio = 0x7f080109; + public static int rcPasswordLayout = 0x7f08010a; + public static int readOnlyExplanation = 0x7f08010b; + public static int right_icon = 0x7f08010c; + public static int right_side = 0x7f08010d; + public static int robotControllerNameLabel = 0x7f08010e; + public static int robotIcon = 0x7f08010f; + public static int row_port = 0x7f080110; + public static int row_port_digital_device = 0x7f080111; + public static int row_port_i2c = 0x7f080112; + public static int scanButton = 0x7f080113; + public static int screen = 0x7f080114; + public static int scrollIndicatorDown = 0x7f080115; + public static int scrollIndicatorUp = 0x7f080116; + public static int scrollView = 0x7f080117; + public static int search_badge = 0x7f080118; + public static int search_bar = 0x7f080119; + public static int search_button = 0x7f08011a; + public static int search_close_btn = 0x7f08011b; + public static int search_edit_frame = 0x7f08011c; + public static int search_go_btn = 0x7f08011d; + public static int search_mag_icon = 0x7f08011e; + public static int search_plate = 0x7f08011f; + public static int search_src_text = 0x7f080120; + public static int search_voice_btn = 0x7f080121; + public static int select_dialog_listview = 0x7f080122; + public static int serialNumber = 0x7f080123; + public static int shortcut = 0x7f080124; + public static int spacer = 0x7f080128; + public static int spinnerChooseAddress = 0x7f080129; + public static int split_action_bar = 0x7f08012a; + public static int src_atop = 0x7f08012b; + public static int src_in = 0x7f08012c; + public static int src_over = 0x7f08012d; + public static int submenuarrow = 0x7f08012e; + public static int submit_area = 0x7f08012f; + public static int swapButton = 0x7f080130; + public static int swapCaption = 0x7f080131; + public static int tabMode = 0x7f080132; + public static int tableLayout = 0x7f080133; + public static int tableLayout_analog_input_devices = 0x7f080134; + public static int table_header = 0x7f080135; + public static int tag_accessibility_actions = 0x7f080136; + public static int tag_accessibility_clickable_spans = 0x7f080137; + public static int tag_accessibility_heading = 0x7f080138; + public static int tag_accessibility_pane_title = 0x7f080139; + public static int tag_screen_reader_focusable = 0x7f08013a; + public static int tag_transition_group = 0x7f08013b; + public static int tag_unhandled_key_event_manager = 0x7f08013c; + public static int tag_unhandled_key_listeners = 0x7f08013d; + public static int templateList = 0x7f08013e; + public static int templateListCaption = 0x7f08013f; + public static int templateNameText = 0x7f080140; + public static int text = 0x7f080141; + public static int text2 = 0x7f080142; + public static int textDeviceName = 0x7f080143; + public static int textSpacerNoButtons = 0x7f08014a; + public static int textSpacerNoTitle = 0x7f08014b; + public static int textView = 0x7f08014c; + public static int textView10 = 0x7f08014d; + public static int textView11 = 0x7f08014e; + public static int textView12 = 0x7f08014f; + public static int textView13 = 0x7f080150; + public static int textView3 = 0x7f080151; + public static int textView4 = 0x7f080152; + public static int textView7 = 0x7f080153; + public static int textView8 = 0x7f080154; + public static int textView9 = 0x7f080155; + public static int textViewHubFirmware = 0x7f080156; + public static int textViewPassword = 0x7f080157; + public static int time = 0x7f080158; + public static int title = 0x7f080159; + public static int titleDividerNoCustom = 0x7f08015a; + public static int titleTextView = 0x7f08015b; + public static int title_template = 0x7f08015c; + public static int top = 0x7f08015d; + public static int topPanel = 0x7f08015e; + public static int top_bar = 0x7f08015f; + public static int trafficCount = 0x7f080160; + public static int trafficCountLabel = 0x7f080161; + public static int txtIsDSInstalled = 0x7f080162; + public static int txtIsDSInstalled_img = 0x7f080163; + public static int txtIsRCInstalled = 0x7f080164; + public static int txtIsRCInstalled_img = 0x7f080165; + public static int txtManufacturer = 0x7f080166; + public static int txtModel = 0x7f080167; + public static int unchecked = 0x7f080168; + public static int uniform = 0x7f080169; + public static int up = 0x7f08016a; + public static int webView = 0x7f08016c; + public static int wifiConnected = 0x7f08016e; + public static int wifiConnected_img = 0x7f08016f; + public static int wifiDisabledNotification = 0x7f080170; + public static int wifiEnabled = 0x7f080171; + public static int wifiEnabled_img = 0x7f080172; + public static int wifiName = 0x7f080173; + public static int wifiName_img = 0x7f080174; + public static int wrap_content = 0x7f080176; + public static int zoomInButton = 0x7f080177; + public static int zoomOutButton = 0x7f080178; + public static int zxing_back_button = 0x7f080179; + public static int zxing_barcode_scanner = 0x7f08017a; + public static int zxing_barcode_surface = 0x7f08017b; + public static int zxing_camera_closed = 0x7f08017c; + public static int zxing_camera_error = 0x7f08017d; + public static int zxing_decode = 0x7f08017e; + public static int zxing_decode_failed = 0x7f08017f; + public static int zxing_decode_succeeded = 0x7f080180; + public static int zxing_possible_result_points = 0x7f080181; + public static int zxing_preview_failed = 0x7f080182; + public static int zxing_prewiew_size_ready = 0x7f080183; + public static int zxing_status_view = 0x7f080184; + public static int zxing_viewfinder_view = 0x7f080185; + + private id() { + } + } + + public static final class integer { + public static int abc_config_activityDefaultDur = 0x7f090000; + public static int abc_config_activityShortDur = 0x7f090001; + public static int cancel_button_image_alpha = 0x7f090002; + public static int config_tooltipAnimTime = 0x7f090003; + public static int status_bar_notification_info_maxnum = 0x7f090004; + + private integer() { + } + } + + public static final class interpolator { + public static int btn_checkbox_checked_mtrl_animation_interpolator_0 = 0x7f0a0000; + public static int btn_checkbox_checked_mtrl_animation_interpolator_1 = 0x7f0a0001; + public static int btn_checkbox_unchecked_mtrl_animation_interpolator_0 = 0x7f0a0002; + public static int btn_checkbox_unchecked_mtrl_animation_interpolator_1 = 0x7f0a0003; + public static int btn_radio_to_off_mtrl_animation_interpolator_0 = 0x7f0a0004; + public static int btn_radio_to_on_mtrl_animation_interpolator_0 = 0x7f0a0005; + public static int fast_out_slow_in = 0x7f0a0006; + + private interpolator() { + } + } + + public static final class layout { + public static int abc_action_bar_title_item = 0x7f0b0000; + public static int abc_action_bar_up_container = 0x7f0b0001; + public static int abc_action_menu_item_layout = 0x7f0b0002; + public static int abc_action_menu_layout = 0x7f0b0003; + public static int abc_action_mode_bar = 0x7f0b0004; + public static int abc_action_mode_close_item_material = 0x7f0b0005; + public static int abc_activity_chooser_view = 0x7f0b0006; + public static int abc_activity_chooser_view_list_item = 0x7f0b0007; + public static int abc_alert_dialog_button_bar_material = 0x7f0b0008; + public static int abc_alert_dialog_material = 0x7f0b0009; + public static int abc_alert_dialog_title_material = 0x7f0b000a; + public static int abc_cascading_menu_item_layout = 0x7f0b000b; + public static int abc_dialog_title_material = 0x7f0b000c; + public static int abc_expanded_menu_layout = 0x7f0b000d; + public static int abc_list_menu_item_checkbox = 0x7f0b000e; + public static int abc_list_menu_item_icon = 0x7f0b000f; + public static int abc_list_menu_item_layout = 0x7f0b0010; + public static int abc_list_menu_item_radio = 0x7f0b0011; + public static int abc_popup_menu_header_item_layout = 0x7f0b0012; + public static int abc_popup_menu_item_layout = 0x7f0b0013; + public static int abc_screen_content_include = 0x7f0b0014; + public static int abc_screen_simple = 0x7f0b0015; + public static int abc_screen_simple_overlay_action_mode = 0x7f0b0016; + public static int abc_screen_toolbar = 0x7f0b0017; + public static int abc_search_dropdown_item_icons_2line = 0x7f0b0018; + public static int abc_search_view = 0x7f0b0019; + public static int abc_select_dialog_material = 0x7f0b001a; + public static int abc_tooltip = 0x7f0b001b; + public static int activity_configure_from_template = 0x7f0b001c; + public static int activity_ftc_configuration = 0x7f0b001d; + public static int activity_ftc_lynx_address_update = 0x7f0b001f; + public static int activity_ftc_lynx_fw_update = 0x7f0b0020; + public static int activity_ftc_wifi_channel_selector = 0x7f0b0021; + public static int activity_ftc_wifi_remembered_groups = 0x7f0b0022; + public static int activity_generic_settings = 0x7f0b0023; + public static int activity_inspection = 0x7f0b0024; + public static int activity_load = 0x7f0b0025; + public static int activity_permissions_validator = 0x7f0b0026; + public static int activity_program_and_manage = 0x7f0b0027; + public static int activity_stacktrace = 0x7f0b0028; + public static int activity_swap_usb_devices = 0x7f0b0029; + public static int activity_view_logs = 0x7f0b002a; + public static int analog_input_device = 0x7f0b002b; + public static int analog_inputs = 0x7f0b002c; + public static int backbar_layout = 0x7f0b002d; + public static int banner_parent = 0x7f0b002e; + public static int button_list = 0x7f0b002f; + public static int color_list_preference_line_item = 0x7f0b0030; + public static int custom_dialog = 0x7f0b0031; + public static int digital_device = 0x7f0b0032; + public static int digital_device_lynx = 0x7f0b0033; + public static int digital_devices = 0x7f0b0034; + public static int empty = 0x7f0b0035; + public static int ethernet_device = 0x7f0b0036; + public static int feedback = 0x7f0b0037; + public static int file_info = 0x7f0b0038; + public static int fragment_wifi_mute = 0x7f0b0039; + public static int gray_line = 0x7f0b003a; + public static int header = 0x7f0b003b; + public static int i2c_device = 0x7f0b003c; + public static int i2cs = 0x7f0b003d; + public static int info_button = 0x7f0b003e; + public static int item_list_parent = 0x7f0b003f; + public static int loading_indicator_overlay = 0x7f0b0040; + public static int lynx_module = 0x7f0b0041; + public static int lynx_module_configure_address = 0x7f0b0042; + public static int lynx_portal_configure_addresses = 0x7f0b0043; + public static int lynx_usb_device = 0x7f0b0044; + public static int motor = 0x7f0b0045; + public static int motor_controller_banner = 0x7f0b0046; + public static int motor_list = 0x7f0b0047; + public static int notification_action = 0x7f0b0048; + public static int notification_action_tombstone = 0x7f0b0049; + public static int notification_template_custom_big = 0x7f0b004a; + public static int notification_template_icon_group = 0x7f0b004b; + public static int notification_template_part_chronometer = 0x7f0b004c; + public static int notification_template_part_time = 0x7f0b004d; + public static int port_attached_row = 0x7f0b004e; + public static int pwm_device = 0x7f0b004f; + public static int pwms = 0x7f0b0050; + public static int red_line = 0x7f0b0051; + public static int select_dialog_item_material = 0x7f0b0052; + public static int select_dialog_multichoice_material = 0x7f0b0053; + public static int select_dialog_singlechoice_material = 0x7f0b0054; + public static int servo = 0x7f0b0055; + public static int servo_list = 0x7f0b0056; + public static int simple_device = 0x7f0b0057; + public static int support_simple_spinner_dropdown_item = 0x7f0b0058; + public static int template_info = 0x7f0b0059; + public static int webcam_device = 0x7f0b005a; + public static int zxing_barcode_scanner = 0x7f0b005b; + public static int zxing_capture = 0x7f0b005c; + + private layout() { + } + } + + public static final class menu { + public static int inspection_menu_rc_remote = 0x7f0c0001; + public static int inspection_menu_rcds_local = 0x7f0c0002; + + private menu() { + } + } + + public static final class raw { + public static int chimeconnect = 0x7f0d0000; + public static int chimedisconnect = 0x7f0d0001; + public static int color_fragment_shader = 0x7f0d0002; + public static int cube_mesh_fragment_shader = 0x7f0d0003; + public static int cube_mesh_vertex_shader = 0x7f0d0004; + public static int errormessage = 0x7f0d0005; + public static int nxtstartupsound = 0x7f0d0007; + public static int rev_bhi260_ap_fw_20 = 0x7f0d0009; + public static int simple_vertex_shader = 0x7f0d000b; + public static int ss_alarm = 0x7f0d000c; + public static int ss_bb8_down = 0x7f0d000d; + public static int ss_bb8_up = 0x7f0d000e; + public static int ss_darth_vader = 0x7f0d000f; + public static int ss_fly_by = 0x7f0d0010; + public static int ss_laser = 0x7f0d0011; + public static int ss_laser_burst = 0x7f0d0012; + public static int ss_light_saber = 0x7f0d0013; + public static int ss_light_saber_long = 0x7f0d0014; + public static int ss_light_saber_short = 0x7f0d0015; + public static int ss_light_speed = 0x7f0d0016; + public static int ss_mf_fail = 0x7f0d0017; + public static int ss_mine = 0x7f0d0018; + public static int ss_power_up = 0x7f0d0019; + public static int ss_r2d2_up = 0x7f0d001a; + public static int ss_roger_roger = 0x7f0d001b; + public static int ss_siren = 0x7f0d001c; + public static int ss_wookie = 0x7f0d001d; + public static int texture_fragment_shader = 0x7f0d001e; + public static int texture_vertex_shader = 0x7f0d001f; + public static int warningmessage = 0x7f0d0020; + public static int zxing_beep = 0x7f0d0021; + + private raw() { + } + } + + public static final class string { + public static int abc_action_bar_home_description = 0x7f0e0000; + public static int abc_action_bar_up_description = 0x7f0e0001; + public static int abc_action_menu_overflow_description = 0x7f0e0002; + public static int abc_action_mode_done = 0x7f0e0003; + public static int abc_activity_chooser_view_see_all = 0x7f0e0004; + public static int abc_activitychooserview_choose_application = 0x7f0e0005; + public static int abc_capital_off = 0x7f0e0006; + public static int abc_capital_on = 0x7f0e0007; + public static int abc_menu_alt_shortcut_label = 0x7f0e0008; + public static int abc_menu_ctrl_shortcut_label = 0x7f0e0009; + public static int abc_menu_delete_shortcut_label = 0x7f0e000a; + public static int abc_menu_enter_shortcut_label = 0x7f0e000b; + public static int abc_menu_function_shortcut_label = 0x7f0e000c; + public static int abc_menu_meta_shortcut_label = 0x7f0e000d; + public static int abc_menu_shift_shortcut_label = 0x7f0e000e; + public static int abc_menu_space_shortcut_label = 0x7f0e000f; + public static int abc_menu_sym_shortcut_label = 0x7f0e0010; + public static int abc_prepend_shortcut_label = 0x7f0e0011; + public static int abc_search_hint = 0x7f0e0012; + public static int abc_searchview_description_clear = 0x7f0e0013; + public static int abc_searchview_description_query = 0x7f0e0014; + public static int abc_searchview_description_search = 0x7f0e0015; + public static int abc_searchview_description_submit = 0x7f0e0016; + public static int abc_searchview_description_voice = 0x7f0e0017; + public static int abc_shareactionprovider_share_with = 0x7f0e0018; + public static int abc_shareactionprovider_share_with_application = 0x7f0e0019; + public static int abc_toolbar_collapse_description = 0x7f0e001a; + public static int about_activity = 0x7f0e001b; + public static int about_app_version = 0x7f0e001c; + public static int about_build_time = 0x7f0e001d; + public static int about_ch_os_version = 0x7f0e001e; + public static int about_dh_os_version = 0x7f0e001f; + public static int about_library_version = 0x7f0e0020; + public static int about_network_connection_info = 0x7f0e0022; + public static int about_network_protocol_version = 0x7f0e0023; + public static int about_wifi_connected = 0x7f0e0024; + public static int about_wifi_direct_info = 0x7f0e0025; + public static int about_wifi_group_owner = 0x7f0e0026; + public static int about_wifi_ip = 0x7f0e0027; + public static int about_wifi_is_group_owner = 0x7f0e0028; + public static int about_wifi_name = 0x7f0e0029; + public static int about_wifi_no_info = 0x7f0e002a; + public static int about_wifi_passphrase = 0x7f0e002b; + public static int action_configuration = 0x7f0e002c; + public static int action_settings = 0x7f0e002d; + public static int action_wifi_channel_selector = 0x7f0e002e; + public static int actionlistenerfailure_busy = 0x7f0e002f; + public static int actionlistenerfailure_error = 0x7f0e0030; + public static int actionlistenerfailure_nop2p = 0x7f0e0031; + public static int actionlistenerfailure_nosevicerequests = 0x7f0e0032; + public static int actionlistenerfailure_nowifi = 0x7f0e0033; + public static int actionlistenerfailure_unknown = 0x7f0e0034; + public static int activeConfigCaption = 0x7f0e0035; + public static int active_connections_label = 0x7f0e0036; + public static int adafruit_imu_description = 0x7f0e0037; + public static int adafruit_imu_name = 0x7f0e0038; + public static int airplaneModeLabel = 0x7f0e0039; + public static int airplaneModeOnContext = 0x7f0e003a; + public static int alertLynxFirmwareUpdateFailed = 0x7f0e003b; + public static int alertLynxFirmwareUpdateFailedTitle = 0x7f0e003c; + public static int alertLynxFirmwareUpdateFailedWithReason = 0x7f0e003d; + public static int alertLynxFirmwareUpdateTimedout = 0x7f0e003e; + public static int alertMessageNoActionGetContent = 0x7f0e003f; + public static int alertTitleRobotControllerConsole = 0x7f0e0040; + public static int androidVersionLabel = 0x7f0e0041; + public static int anotherDsIsConnectedError = 0x7f0e0042; + public static int appDsIsObsoleteContext = 0x7f0e0043; + public static int appNameDriverStation = 0x7f0e0044; + public static int appNameRobotController = 0x7f0e0045; + public static int appNameUnknown = 0x7f0e0046; + public static int appRcIsObsoleteContext = 0x7f0e0047; + public static int appThemeChangeRestartNotifyDS = 0x7f0e0048; + public static int appThemeChangeRestartNotifyRC = 0x7f0e0049; + public static int app_name = 0x7f0e004a; + public static int app_result_type_attempting_installation = 0x7f0e004b; + public static int app_result_type_auto_updated_app = 0x7f0e004c; + public static int app_result_type_backup_uninstalling_existing_app = 0x7f0e004d; + public static int app_result_type_failed_and_reverted = 0x7f0e004e; + public static int app_result_type_failed_to_restore = 0x7f0e004f; + public static int app_result_type_generic_install_failure = 0x7f0e0050; + public static int app_result_type_illegal_package = 0x7f0e0051; + public static int app_result_type_incompatible_with_device = 0x7f0e0052; + public static int app_result_type_installation_aborted = 0x7f0e0053; + public static int app_result_type_installation_blocked = 0x7f0e0054; + public static int app_result_type_installation_succeeded = 0x7f0e0055; + public static int app_result_type_installed_missing_app = 0x7f0e0056; + public static int app_result_type_invalid_apk_file = 0x7f0e0057; + public static int app_result_type_io_exception = 0x7f0e0058; + public static int app_result_type_rebooting_with_new_ap_service = 0x7f0e0059; + public static int app_result_type_replaced_wrong_app_variant = 0x7f0e005a; + public static int app_result_type_storage_failure = 0x7f0e005b; + public static int app_result_type_timeout_expired = 0x7f0e005c; + public static int app_result_type_uninstall_failed = 0x7f0e005d; + public static int app_result_type_uninstall_required = 0x7f0e005e; + public static int app_result_type_uninstall_required_backup_possible = 0x7f0e005f; + public static int app_result_type_uninstalled_wrong_app_variant = 0x7f0e0060; + public static int app_result_type_uninstalling_existing_app = 0x7f0e0061; + public static int app_result_type_unknown_install_status = 0x7f0e0062; + public static int app_version = 0x7f0e0063; + public static int appsInstalledLabel = 0x7f0e0064; + public static int attached = 0x7f0e0065; + public static int availableConfigListCaption = 0x7f0e0066; + public static int availableConfigsInfoMessage = 0x7f0e0067; + public static int availableTemplateListCaption = 0x7f0e0068; + public static int batteryLevelLabel = 0x7f0e0069; + public static int blocks_activity = 0x7f0e006a; + public static int bluetoothLabel = 0x7f0e006c; + public static int bluetoothOnContext = 0x7f0e006d; + public static int buttonExitWithoutSaving = 0x7f0e006e; + public static int buttonNameAdd = 0x7f0e006f; + public static int buttonNameApply = 0x7f0e0070; + public static int buttonNameCancel = 0x7f0e0071; + public static int buttonNameConfigure = 0x7f0e0072; + public static int buttonNameConfigureModuleAddress = 0x7f0e0073; + public static int buttonNameDone = 0x7f0e0074; + public static int buttonNameFix = 0x7f0e0075; + public static int buttonNameInfo = 0x7f0e0076; + public static int buttonNameNew = 0x7f0e0077; + public static int buttonNameOK = 0x7f0e0078; + public static int buttonNameSave = 0x7f0e0079; + public static int buttonNameScan = 0x7f0e007a; + public static int buttonNameSwap = 0x7f0e007b; + public static int buttonWirelessApSettingsLabel = 0x7f0e007c; + public static int bytesPerSecondLabel = 0x7f0e007d; + public static int captionAvailableSwapDevices = 0x7f0e007e; + public static int captionAvailableUsbDevices = 0x7f0e007f; + public static int ch_updater_not_supported = 0x7f0e0080; + public static int choice_prompt = 0x7f0e0081; + public static int choice_prompt_analogInput = 0x7f0e0082; + public static int choice_prompt_analogOutput = 0x7f0e0083; + public static int choice_prompt_digital_device = 0x7f0e0084; + public static int choice_prompt_i2c = 0x7f0e0085; + public static int choice_prompt_module_address = 0x7f0e0086; + public static int choice_prompt_motor = 0x7f0e0087; + public static int choice_prompt_servo = 0x7f0e0088; + public static int clear_remembered_groups = 0x7f0e0089; + public static int common_result_type_busy_with_previous_request = 0x7f0e008a; + public static int common_result_type_file_does_not_exist = 0x7f0e008b; + public static int common_result_type_no_update_file = 0x7f0e008c; + public static int common_result_type_performing_startup_operations = 0x7f0e008d; + public static int configDirtyLabel = 0x7f0e008e; + public static int configFailedToOpenDeviceManager = 0x7f0e008f; + public static int configFromTemplateInfoMessage = 0x7f0e0090; + public static int configFromTemplateInfoTitle = 0x7f0e0091; + public static int configGivingUpOnCommand = 0x7f0e0092; + public static int configNameEmpty = 0x7f0e0093; + public static int configNameExists = 0x7f0e0094; + public static int configNameIllegalCharacters = 0x7f0e0095; + public static int configNamePromptBanter = 0x7f0e0096; + public static int configNamePromptTitle = 0x7f0e0097; + public static int configNameReadOnly = 0x7f0e0098; + public static int configNameReserved = 0x7f0e0099; + public static int configNameWhitespace = 0x7f0e009a; + public static int configTemplateInstructions = 0x7f0e009b; + public static int configToDeleteDoesNotExist = 0x7f0e009c; + public static int configTypeAdafruitColorSensor = 0x7f0e009d; + public static int configTypeAnalogInput = 0x7f0e009e; + public static int configTypeColorSensor = 0x7f0e009f; + public static int configTypeContinuousRotationServo = 0x7f0e00a0; + public static int configTypeDigitalDevice = 0x7f0e00a1; + public static int configTypeGyro = 0x7f0e00a2; + public static int configTypeHTGyro = 0x7f0e00a3; + public static int configTypeIrSeekerV3 = 0x7f0e00a4; + public static int configTypeLED = 0x7f0e00a5; + public static int configTypeLynxColorSensor = 0x7f0e00a6; + public static int configTypeLynxModule = 0x7f0e00a7; + public static int configTypeLynxUSBDevice = 0x7f0e00a8; + public static int configTypeMRColorSensor = 0x7f0e00a9; + public static int configTypeMRGyro = 0x7f0e00aa; + public static int configTypeMRTouchSensor = 0x7f0e00ab; + public static int configTypeMotor = 0x7f0e00ac; + public static int configTypeMotors = 0x7f0e00ad; + public static int configTypeNothing = 0x7f0e00ae; + public static int configTypeOpticalDistanceSensor = 0x7f0e00af; + public static int configTypePulseWidthDevice = 0x7f0e00b0; + public static int configTypeRevTouchSensor = 0x7f0e00b1; + public static int configTypeServo = 0x7f0e00b2; + public static int configTypeServoFullRange = 0x7f0e00b3; + public static int configTypeServos = 0x7f0e00b4; + public static int configTypeUnknown = 0x7f0e00b5; + public static int configTypeWebcam = 0x7f0e00b6; + public static int configurationNotSaved = 0x7f0e00b7; + public static int configureFromTemplate = 0x7f0e00b8; + public static int configure_activity = 0x7f0e00b9; + public static int configure_menu_item = 0x7f0e00ba; + public static int configure_settings = 0x7f0e00bc; + public static int confirmConfigDeleteMessage = 0x7f0e00bd; + public static int confirmConfigDeleteTitle = 0x7f0e00be; + public static int connectedToContext = 0x7f0e00bf; + public static int connection_owner_default = 0x7f0e00c0; + public static int connection_owner_password_default = 0x7f0e00c1; + public static int continuous_servo_description = 0x7f0e00c2; + public static int controlHubDisplayName = 0x7f0e00c3; + public static int controlHubFirmwareUpdateMessage = 0x7f0e00c4; + public static int controlHubImuFwFlashFailed = 0x7f0e00c5; + public static int controlHubNotAbleToCommunicateWithInternalHub = 0x7f0e00c6; + public static int controlHubOsContext = 0x7f0e00c7; + public static int controlHubOsVersionLabel = 0x7f0e00c8; + public static int control_hub_module_name = 0x7f0e00c9; + public static int control_hub_usb_device_name = 0x7f0e00ca; + public static int controllerPortConnectionInfoFormat = 0x7f0e00cb; + public static int counted_camera_name = 0x7f0e00cc; + public static int counted_imu_name = 0x7f0e00cd; + public static int counted_lynx_module_name = 0x7f0e00ce; + public static int counted_lynx_usb_device_name = 0x7f0e00cf; + public static int counted_servo_hub_name = 0x7f0e00d0; + public static int currentApLabel = 0x7f0e00d1; + public static int defaultOpModeName = 0x7f0e00d2; + public static int defaultPasswordContext = 0x7f0e00d3; + public static int default_port = 0x7f0e00d4; + public static int define_zxingandroidembedded = 0x7f0e00d5; + public static int descriptionLynxEmbeddedModule = 0x7f0e00d6; + public static int deviceDisplayNameUnknownUSBDevice = 0x7f0e00d7; + public static int deviceInterfaceModuleName = 0x7f0e00d8; + public static int deviceNameContext = 0x7f0e00d9; + public static int device_info = 0x7f0e00da; + public static int device_name_format_ds = 0x7f0e00db; + public static int device_name_format_rc = 0x7f0e00dc; + public static int device_type = 0x7f0e00dd; + public static int dfrobot_huskylens_description = 0x7f0e00de; + public static int dfrobot_huskylens_name = 0x7f0e00df; + public static int dialogEnableModifyingSettingsMessage = 0x7f0e00e0; + public static int dialogEnableModifyingSettingsTitle = 0x7f0e00e1; + public static int dialogMessagePleaseWait = 0x7f0e00e2; + public static int display_server_log_button = 0x7f0e00e3; + public static int driverHubOsContext = 0x7f0e00e4; + public static int driverHubOsVersionLabel = 0x7f0e00e5; + public static int driverStationInstalledOnRobotControllerContext = 0x7f0e00e6; + public static int driverStationIsObsoleteContext = 0x7f0e00e7; + public static int driverStationLabel = 0x7f0e00e8; + public static int driverStationNameLabel = 0x7f0e00e9; + public static int dsVersionMismatch = 0x7f0e00ea; + public static int duplicateWebcam = 0x7f0e00eb; + public static int duplicateWebcamWithName = 0x7f0e00ec; + public static int edit_analog_input_devices_activity = 0x7f0e00ed; + public static int edit_analog_input_devices_activity_lynx = 0x7f0e00ee; + public static int edit_controller = 0x7f0e00ef; + public static int edit_digital_devices_activity = 0x7f0e00f0; + public static int edit_digital_devices_activity_lynx = 0x7f0e00f1; + public static int edit_ethernet_devices_activity = 0x7f0e00f2; + public static int edit_i2c_devices_activity = 0x7f0e00f3; + public static int edit_lynx_module_controller_activity = 0x7f0e00f4; + public static int edit_lynx_usb_device_activity = 0x7f0e00f5; + public static int edit_motor_controller_activity = 0x7f0e00f6; + public static int edit_pwm_devices_activity = 0x7f0e00f7; + public static int edit_servo_controller_activity = 0x7f0e00f8; + public static int edit_swap_devices_activity = 0x7f0e00f9; + public static int edit_webcam_activity = 0x7f0e00fa; + public static int errorConfigurationNotFound = 0x7f0e00fb; + public static int errorExpansionHubIsMissing = 0x7f0e00fc; + public static int errorFailedToOpenDeviceManager = 0x7f0e00fd; + public static int errorOpModeStuck = 0x7f0e00fe; + public static int errorParsingConfiguration = 0x7f0e00ff; + public static int errorScanningDevicesTitle = 0x7f0e0100; + public static int error_text_error = 0x7f0e0101; + public static int expansionHubDisplayName = 0x7f0e0103; + public static int expansionHubFirmwareUpdateMessage = 0x7f0e0104; + public static int file_activate_button = 0x7f0e0105; + public static int file_delete_button = 0x7f0e0106; + public static int file_edit_button = 0x7f0e0107; + public static int file_prompt = 0x7f0e0108; + public static int filename_editText = 0x7f0e0109; + public static int filler_text = 0x7f0e010a; + public static int firmwareContext = 0x7f0e010b; + public static int fixFailDuplicate = 0x7f0e010c; + public static int fixFailNoneAvailable = 0x7f0e010d; + public static int flashingControlHubImu = 0x7f0e010e; + public static int ftcConfigScanning = 0x7f0e010f; + public static int ftcConfigScanningFailed = 0x7f0e0110; + public static int ftc_about_activity = 0x7f0e0111; + public static int globalErrorFailedToCreateRobot = 0x7f0e0112; + public static int globalErrorFailedToStartRobot = 0x7f0e0113; + public static int help_content = 0x7f0e0114; + public static int help_menu_item = 0x7f0e0115; + public static int hide_server_log_button = 0x7f0e0116; + public static int hubFirmwareLabel = 0x7f0e0117; + public static int hwDeviceDescriptionAndConnection = 0x7f0e0118; + public static int hwPoorlyNamedDevice = 0x7f0e0119; + public static int incompatibleAppsError = 0x7f0e011a; + public static int input_name_hint = 0x7f0e011b; + public static int input_name_label = 0x7f0e011c; + public static int inspection_activity = 0x7f0e011d; + public static int ip_address_prompt_text = 0x7f0e011f; + public static int launch_wifi_settings = 0x7f0e0120; + public static int led_description = 0x7f0e0121; + public static int library_zxingandroidembedded_author = 0x7f0e0122; + public static int library_zxingandroidembedded_authorWebsite = 0x7f0e0123; + public static int library_zxingandroidembedded_isOpenSource = 0x7f0e0124; + public static int library_zxingandroidembedded_libraryDescription = 0x7f0e0125; + public static int library_zxingandroidembedded_libraryName = 0x7f0e0126; + public static int library_zxingandroidembedded_libraryVersion = 0x7f0e0127; + public static int library_zxingandroidembedded_libraryWebsite = 0x7f0e0128; + public static int library_zxingandroidembedded_licenseId = 0x7f0e0129; + public static int library_zxingandroidembedded_repositoryLink = 0x7f0e012a; + public static int load_menu_item = 0x7f0e012b; + public static int locationEnabledContext = 0x7f0e012c; + public static int locationLabel = 0x7f0e012d; + public static int locationServices = 0x7f0e012e; + public static int log_label = 0x7f0e012f; + public static int lynxAnalogInputControllerDisplayName = 0x7f0e0130; + public static int lynxDcMotorControllerDisplayName = 0x7f0e0131; + public static int lynxDigitalChannelControllerDisplayName = 0x7f0e0132; + public static int lynxFirmwareFileEmpty = 0x7f0e0133; + public static int lynxFirmwareUpdateAlreadyInProgress = 0x7f0e0134; + public static int lynxFirmwareUpdateReadme = 0x7f0e0135; + public static int lynxI2cDeviceSynchDisplayName = 0x7f0e0136; + public static int lynxModuleBatteryIsCurrentlyLow = 0x7f0e0137; + public static int lynxModuleBatteryWasLow = 0x7f0e0138; + public static int lynxModuleCurrentlyNotResponding = 0x7f0e0139; + public static int lynxModuleFirmwareOutdated = 0x7f0e013a; + public static int lynxModulePowerLost = 0x7f0e013b; + public static int lynxModulePreviouslyNotResponding = 0x7f0e013c; + public static int lynxPwmOutputControllerDisplayName = 0x7f0e013d; + public static int lynxServoControllerDisplayName = 0x7f0e013e; + public static int lynxUnavailableFWVersionString = 0x7f0e013f; + public static int lynxVoltageSensorDisplayName = 0x7f0e0140; + public static int lynx_address_control_hub_portal = 0x7f0e0141; + public static int lynx_address_format_expansion_hub_portal_serial = 0x7f0e0142; + public static int lynx_address_format_module_address = 0x7f0e0143; + public static int lynx_address_format_new_module_address = 0x7f0e0144; + public static int lynx_address_format_no_change = 0x7f0e0145; + public static int lynx_address_instructions_static = 0x7f0e0146; + public static int lynx_address_no_devices = 0x7f0e0147; + public static int lynx_embedded_bhi260ap_imu_name = 0x7f0e0148; + public static int lynx_embedded_bno055_imu_name = 0x7f0e0149; + public static int lynx_embedded_imu_description = 0x7f0e014a; + public static int lynx_fw_available_files = 0x7f0e014b; + public static int lynx_fw_instructions_controlhub_item_title = 0x7f0e014c; + public static int lynx_fw_instructions_exhub_item_title = 0x7f0e014d; + public static int lynx_fw_instructions_firmware_version = 0x7f0e014e; + public static int lynx_fw_instructions_module_address = 0x7f0e014f; + public static int lynx_fw_instructions_module_address_unavailable = 0x7f0e0150; + public static int lynx_fw_instructions_no_binary = 0x7f0e0151; + public static int lynx_fw_instructions_no_devices = 0x7f0e0152; + public static int lynx_fw_instructions_serial = 0x7f0e0153; + public static int lynx_fw_instructions_update = 0x7f0e0154; + public static int lynx_fw_instructions_update_post = 0x7f0e0155; + public static int manage_page_no_network = 0x7f0e0156; + public static int manual_control_op_mode_display_name = 0x7f0e0157; + public static int matchesDSVersionLabel = 0x7f0e0158; + public static int menuButtonContentDescription = 0x7f0e0159; + public static int moduleDisplayNameLynxUsbDevice = 0x7f0e015a; + public static int moduleDisplayNameWebcam = 0x7f0e015b; + public static int motor = 0x7f0e015c; + public static int motor_controller_name_prompt = 0x7f0e015d; + public static int motor_name = 0x7f0e015e; + public static int motor_name_prompt = 0x7f0e015f; + public static int motor_port = 0x7f0e0160; + public static int motor_port1 = 0x7f0e0161; + public static int motor_port2 = 0x7f0e0162; + public static int mr_compass_description = 0x7f0e0163; + public static int mr_compass_name = 0x7f0e0164; + public static int mr_range_description = 0x7f0e0165; + public static int mr_range_name = 0x7f0e0166; + public static int mr_touch_sensor_description = 0x7f0e0167; + public static int msgAlertBeforeScan = 0x7f0e0168; + public static int msgInfoHowToUse = 0x7f0e0169; + public static int msgInfoSave = 0x7f0e016a; + public static int msg_ds_p2p_connected_wrong_device = 0x7f0e016b; + public static int msg_ds_p2p_misconfigured = 0x7f0e016c; + public static int msg_p2p_unprintable_chars = 0x7f0e016d; + public static int msg_rc_p2p_misconfigured = 0x7f0e016e; + public static int name_prompt_text = 0x7f0e016f; + public static int name_prompt_undertext = 0x7f0e0170; + public static int navx_micro_description = 0x7f0e0171; + public static int navx_micro_name = 0x7f0e0172; + public static int networkStatusActive = 0x7f0e0173; + public static int networkStatusCreatedAPConnection = 0x7f0e0174; + public static int networkStatusEnabled = 0x7f0e0175; + public static int networkStatusError = 0x7f0e0176; + public static int networkStatusFormat = 0x7f0e0177; + public static int networkStatusInactive = 0x7f0e0178; + public static int networkStatusInternalError = 0x7f0e0179; + public static int networkStatusUnknown = 0x7f0e017a; + public static int network_name_label = 0x7f0e017b; + public static int network_not_ok = 0x7f0e017c; + public static int network_type_wifi_direct = 0x7f0e017d; + public static int network_type_wireless_ap = 0x7f0e017e; + public static int noContext = 0x7f0e017f; + public static int noCurrentConfigFile = 0x7f0e0180; + public static int noDeviceAttached = 0x7f0e0181; + public static int noDevicesFoundMessage = 0x7f0e0182; + public static int noDevicesFoundTitle = 0x7f0e0183; + public static int noFilesFoundMessage = 0x7f0e0184; + public static int noFilesFoundTitle = 0x7f0e0185; + public static int noRememberedGroupsFound = 0x7f0e0186; + public static int noSerialNumber = 0x7f0e0187; + public static int noTemplatesFoundMessage = 0x7f0e0188; + public static int noTemplatesFoundTitle = 0x7f0e0189; + public static int noVoltageSensor = 0x7f0e018a; + public static int notAllDevicesFoundMessage = 0x7f0e018b; + public static int notAllDevicesFoundTitle = 0x7f0e018c; + public static int not_available = 0x7f0e018d; + public static int optical_distance_sensor_description = 0x7f0e018e; + public static int osContext = 0x7f0e018f; + public static int ota_result_type_device_not_supported = 0x7f0e0190; + public static int ota_result_type_downgrade_not_authorized = 0x7f0e0191; + public static int ota_result_type_error_reading_file = 0x7f0e0192; + public static int ota_result_type_failed_to_install = 0x7f0e0193; + public static int ota_result_type_invalid_file_location = 0x7f0e0194; + public static int ota_result_type_invalid_update_file = 0x7f0e0195; + public static int ota_result_type_ota_update_finished = 0x7f0e0196; + public static int ota_result_type_verification_succeeded = 0x7f0e0197; + public static int ota_result_type_verification_succeeded_localhost = 0x7f0e0198; + public static int packageName = 0x7f0e0199; + public static int packageNameDriverStation = 0x7f0e019a; + public static int packageNameRobotController = 0x7f0e019b; + public static int pairing_kind_title = 0x7f0e019c; + public static int parametersForOtherDeviceUsed = 0x7f0e019d; + public static int passphrase_label = 0x7f0e019e; + public static int passwordLabel = 0x7f0e019f; + public static int peerStatusConnected = 0x7f0e01a0; + public static int peerStatusDisconnected = 0x7f0e01a1; + public static int permAccessLocationExplain = 0x7f0e01a2; + public static int permDsReadExternalStorageExplain = 0x7f0e01a3; + public static int permDsWriteExternalStorageExplain = 0x7f0e01a4; + public static int permGenericExplain = 0x7f0e01a5; + public static int permPermanentlyDenied = 0x7f0e01a6; + public static int permPermanentlyDeniedRecovery = 0x7f0e01a7; + public static int permRcCameraExplain = 0x7f0e01a8; + public static int permRcReadExternalStorageExplain = 0x7f0e01a9; + public static int permRcWriteExternalStorageExplain = 0x7f0e01aa; + public static int permReadPhoneState = 0x7f0e01ab; + public static int port = 0x7f0e01ac; + public static int powerIssueTip = 0x7f0e01ad; + public static int pref_app_category = 0x7f0e01ae; + public static int pref_app_category_rc = 0x7f0e01af; + public static int pref_app_theme = 0x7f0e01b0; + public static int pref_app_theme_rc = 0x7f0e01b1; + public static int pref_app_version = 0x7f0e01b2; + public static int pref_app_version_rc = 0x7f0e01b3; + public static int pref_autostarted_robot_controller = 0x7f0e01b4; + public static int pref_build_time = 0x7f0e01b5; + public static int pref_build_time_rc = 0x7f0e01b6; + public static int pref_connection_owner_identity = 0x7f0e01b7; + public static int pref_connection_owner_password = 0x7f0e01b8; + public static int pref_debug_driver_station_logs = 0x7f0e01b9; + public static int pref_device_name = 0x7f0e01ba; + public static int pref_device_name_internal = 0x7f0e01bb; + public static int pref_device_name_old = 0x7f0e01bc; + public static int pref_device_name_rc = 0x7f0e01bd; + public static int pref_device_name_rc_display = 0x7f0e01be; + public static int pref_device_name_tracking = 0x7f0e01bf; + public static int pref_dh_os_version_code = 0x7f0e01c0; + public static int pref_ds_supports_5_ghz = 0x7f0e01c1; + public static int pref_gamepad_user1_type_key = 0x7f0e01c3; + public static int pref_gamepad_user2_type_key = 0x7f0e01c4; + public static int pref_hardware_config_filename = 0x7f0e01c5; + public static int pref_has_independent_phone_battery = 0x7f0e01c6; + public static int pref_has_independent_phone_battery_rc = 0x7f0e01c7; + public static int pref_has_speaker = 0x7f0e01c8; + public static int pref_has_speaker_rc = 0x7f0e01c9; + public static int pref_last_known_macaddr = 0x7f0e01ca; + public static int pref_last_known_ssid = 0x7f0e01cb; + public static int pref_launch_advanced_rc_settings = 0x7f0e01cc; + public static int pref_launch_inspect_ds = 0x7f0e01cd; + public static int pref_launch_inspect_rc = 0x7f0e01ce; + public static int pref_launch_lynx_address_update = 0x7f0e01cf; + public static int pref_launch_lynx_firmware_update = 0x7f0e01d0; + public static int pref_launch_viewlogs = 0x7f0e01d1; + public static int pref_launch_wifi_channel_edit = 0x7f0e01d2; + public static int pref_launch_wifi_remembered_groups_edit = 0x7f0e01d3; + public static int pref_lib_version = 0x7f0e01d4; + public static int pref_lib_version_rc = 0x7f0e01d5; + public static int pref_match_logging_on_off = 0x7f0e01d6; + public static int pref_match_logging_on_off_summary = 0x7f0e01d7; + public static int pref_match_logging_on_off_title = 0x7f0e01d8; + public static int pref_network_connection_info = 0x7f0e01d9; + public static int pref_network_connection_info_rc = 0x7f0e01da; + public static int pref_network_connection_type = 0x7f0e01db; + public static int pref_network_protocol_version = 0x7f0e01dc; + public static int pref_network_protocol_version_rc = 0x7f0e01dd; + public static int pref_os_version = 0x7f0e01de; + public static int pref_os_version_rc = 0x7f0e01df; + public static int pref_pair_rc = 0x7f0e01e0; + public static int pref_pairing_kind = 0x7f0e01e1; + public static int pref_pairing_kind_default = 0x7f0e01e2; + public static int pref_pairing_kind_title = 0x7f0e01e3; + public static int pref_rc_connected = 0x7f0e01e4; + public static int pref_sound_on_off = 0x7f0e01e5; + public static int pref_sound_on_off_rc = 0x7f0e01e6; + public static int pref_warn_about_2_4_ghz_band = 0x7f0e01e7; + public static int pref_warn_about_incorrect_clocks = 0x7f0e01e8; + public static int pref_warn_about_mismatched_app_versions = 0x7f0e01e9; + public static int pref_warn_about_obsolete_software = 0x7f0e01ea; + public static int pref_wifi_automute = 0x7f0e01eb; + public static int pref_wifip2p_channel = 0x7f0e01ec; + public static int pref_wifip2p_groupowner_connectedto = 0x7f0e01ed; + public static int pref_wifip2p_groupowner_lastconnectedto = 0x7f0e01ee; + public static int pref_wifip2p_groupowner_map = 0x7f0e01ef; + public static int pref_wifip2p_groupowner_map_timestamp = 0x7f0e01f0; + public static int pref_wifip2p_remote_channel_change_works = 0x7f0e01f1; + public static int prefcat_about_ds = 0x7f0e01f2; + public static int prefcat_about_rc = 0x7f0e01f3; + public static int prefcat_configure_ds = 0x7f0e01f4; + public static int prefcat_configure_robot = 0x7f0e01f5; + public static int prefcat_gamepad = 0x7f0e01f6; + public static int prefcat_logging = 0x7f0e01f7; + public static int prefcat_wifi_config = 0x7f0e01f8; + public static int prefcat_wifi_settings = 0x7f0e01f9; + public static int prefedit_app_theme_ds = 0x7f0e01fa; + public static int prefedit_app_theme_rc = 0x7f0e01fb; + public static int prefedit_app_theme_summary_ds = 0x7f0e01fc; + public static int prefedit_app_theme_summary_rc = 0x7f0e01fd; + public static int prefedit_change_wifi_channel = 0x7f0e01fe; + public static int prefedit_clear_remembered_groups_summary = 0x7f0e01ff; + public static int prefedit_debug_driver_station_logs = 0x7f0e0200; + public static int prefedit_debug_driver_station_logs_summary = 0x7f0e0201; + public static int prefedit_device_name = 0x7f0e0202; + public static int prefedit_device_name_ds = 0x7f0e0203; + public static int prefedit_device_name_invalid_text = 0x7f0e0204; + public static int prefedit_device_name_invalid_title = 0x7f0e0205; + public static int prefedit_device_name_rc = 0x7f0e0206; + public static int prefedit_device_name_summary = 0x7f0e0207; + public static int prefedit_device_name_summary_ds = 0x7f0e0208; + public static int prefedit_device_name_summary_rc = 0x7f0e0209; + public static int prefedit_edit_wifi_channel_summary = 0x7f0e020a; + public static int prefedit_gamepad_user1_type = 0x7f0e020b; + public static int prefedit_gamepad_user2_type = 0x7f0e020c; + public static int prefedit_launch_inspect_ds = 0x7f0e020d; + public static int prefedit_launch_inspect_ds_summary = 0x7f0e020e; + public static int prefedit_launch_inspect_rc = 0x7f0e020f; + public static int prefedit_launch_inspect_rc_summary = 0x7f0e0210; + public static int prefedit_pair_rc = 0x7f0e0211; + public static int prefedit_pair_rc_summary = 0x7f0e0212; + public static int prefedit_remembered_groups = 0x7f0e0213; + public static int prefedit_sound_on_off = 0x7f0e0214; + public static int prefedit_sound_on_off_summary = 0x7f0e0215; + public static int prefedit_sound_on_off_summary_ds = 0x7f0e0216; + public static int prefedit_sound_on_off_summary_rc = 0x7f0e0217; + public static int prefedit_view_logs = 0x7f0e0218; + public static int prefedit_view_logs_summary = 0x7f0e0219; + public static int prefedit_wifi_automute = 0x7f0e021a; + public static int prefedit_wifi_automute_summary = 0x7f0e021b; + public static int preferred_imu_name = 0x7f0e021c; + public static int program_and_manage_activity = 0x7f0e021d; + public static int progressPleaseWait = 0x7f0e021f; + public static int progressUpdatingDeviceFirmware = 0x7f0e0220; + public static int qrInvalid = 0x7f0e0221; + public static int qrNoGamepad = 0x7f0e0222; + public static int quotes = 0x7f0e0223; + public static int readOnlyConfigFeedback = 0x7f0e0224; + public static int readOnlyExplanation = 0x7f0e0225; + public static int readXML_text = 0x7f0e0226; + public static int rescanButton_text = 0x7f0e0227; + public static int restore_settings = 0x7f0e0229; + public static int rev_20_hd_hex_name = 0x7f0e022a; + public static int rev_40_hd_hex_name = 0x7f0e022b; + public static int rev_9_axis_imu_description = 0x7f0e022c; + public static int rev_9_axis_imu_name = 0x7f0e022d; + public static int rev_blinkin_description = 0x7f0e022e; + public static int rev_blinkin_name = 0x7f0e022f; + public static int rev_color_sensor_v3_description = 0x7f0e0230; + public static int rev_color_sensor_v3_name = 0x7f0e0231; + public static int rev_core_hex_name = 0x7f0e0232; + public static int rev_distributor = 0x7f0e0233; + public static int rev_laser_sensor_description = 0x7f0e0234; + public static int rev_laser_sensor_name = 0x7f0e0235; + public static int rev_spark_mini_description = 0x7f0e0236; + public static int rev_spark_mini_name = 0x7f0e0237; + public static int rev_touch_sensor_description = 0x7f0e0238; + public static int rev_ultraplanetary_hd_hex_name = 0x7f0e0239; + public static int robotControllerAppUpdateReadme = 0x7f0e023a; + public static int robotControllerInstalledOnDriverStationContext = 0x7f0e023b; + public static int robotControllerIsNotInstalledContext = 0x7f0e023c; + public static int robotControllerIsObsoleteContext = 0x7f0e023d; + public static int robotControllerLabel = 0x7f0e023e; + public static int robotControllerNameLabel = 0x7f0e023f; + public static int robotOffTip = 0x7f0e0240; + public static int robotStateEmergencyStop = 0x7f0e0241; + public static int robotStateInit = 0x7f0e0242; + public static int robotStateInternalError = 0x7f0e0243; + public static int robotStateNotStarted = 0x7f0e0244; + public static int robotStateRunning = 0x7f0e0245; + public static int robotStateStopped = 0x7f0e0246; + public static int robotStateUnknown = 0x7f0e0247; + public static int robotStatusFormat = 0x7f0e0248; + public static int robotStatusInternalError = 0x7f0e0249; + public static int robotStatusNetworkTimedOut = 0x7f0e024a; + public static int robotStatusScanningUSB = 0x7f0e024b; + public static int robotStatusStartingRobot = 0x7f0e024c; + public static int robotStatusUnableToStartRobot = 0x7f0e024d; + public static int robotStatusUnknown = 0x7f0e024e; + public static int robotStatusWaitingOnNetworkConnection = 0x7f0e024f; + public static int robotStatusWaitingOnWifi = 0x7f0e0250; + public static int robotStatusWaitingOnWifiDirect = 0x7f0e0251; + public static int row_port0 = 0x7f0e0252; + public static int row_port1 = 0x7f0e0253; + public static int row_port2 = 0x7f0e0254; + public static int row_port3 = 0x7f0e0255; + public static int row_port4 = 0x7f0e0256; + public static int row_port5 = 0x7f0e0257; + public static int row_port6 = 0x7f0e0258; + public static int saveButton_text = 0x7f0e0259; + public static int saveChangesMessage = 0x7f0e025a; + public static int saveChangesMessageScreen = 0x7f0e025b; + public static int saveChangesTitle = 0x7f0e025c; + public static int save_configuration = 0x7f0e025d; + public static int sdkVersionMismatchContext = 0x7f0e025e; + public static int search_menu_title = 0x7f0e025f; + public static int serialNumberNotAttached = 0x7f0e0260; + public static int server_not_ok = 0x7f0e0261; + public static int server_ok = 0x7f0e0262; + public static int server_status_label = 0x7f0e0263; + public static int server_url_label = 0x7f0e0264; + public static int servo_name = 0x7f0e0265; + public static int servo_name_prompt = 0x7f0e0266; + public static int servo_port = 0x7f0e0267; + public static int setWifiChannelFailure = 0x7f0e0268; + public static int setWifiChannelSuccess = 0x7f0e0269; + public static int settings_activity = 0x7f0e026a; + public static int sparkfun_led_stick_description = 0x7f0e026c; + public static int sparkfun_led_stick_name = 0x7f0e026d; + public static int sparkfun_optical_odometry_description = 0x7f0e026e; + public static int sparkfun_optical_odometry_name = 0x7f0e026f; + public static int standardWifiConnected = 0x7f0e0270; + public static int standard_servo_description = 0x7f0e0271; + public static int status_bar_notification_info_overflow = 0x7f0e0272; + public static int stringManufacturer = 0x7f0e0273; + public static int stringModel = 0x7f0e0274; + public static int string_WifiChannelHeading = 0x7f0e0275; + public static int string_WifiChannelInstructions = 0x7f0e0276; + public static int string_WifiRememberedGroupsInstructions = 0x7f0e0277; + public static int summaryAdvancedRCSettings = 0x7f0e0278; + public static int summaryLynxAddressUpdate = 0x7f0e0279; + public static int summaryLynxFirmwareUpdate = 0x7f0e027a; + public static int summaryLynxFirmwareUpdateCH = 0x7f0e027b; + public static int summaryWarnAbout2_4GhzBand = 0x7f0e027c; + public static int summaryWarnAboutIncorrectClocks = 0x7f0e027d; + public static int summaryWarnAboutMismatchedAppVersions = 0x7f0e027e; + public static int summaryWarnAboutObsoleteSoftware = 0x7f0e027f; + public static int swapPrompt = 0x7f0e0280; + public static int system_op_mode_display_name = 0x7f0e0281; + public static int templateConfigurationInstructions = 0x7f0e0282; + public static int templateConfigureConfigurationInstructionsTitle = 0x7f0e0283; + public static int templateConfigureDuplicateNameExceptionMessage = 0x7f0e0284; + public static int templateConfigureFailedToOpenUSBScanManager = 0x7f0e0285; + public static int templateConfigureNoDescriptionAvailable = 0x7f0e0286; + public static int templateConfigureNoDevicesFoundMessage = 0x7f0e0287; + public static int templateConfigureNoDevicesFoundTitle = 0x7f0e0288; + public static int templateConfigureNothing = 0x7f0e0289; + public static int templateConfigureWrongDevicesFoundMessage = 0x7f0e028a; + public static int templateConfigureWrongDevicesFoundTitle = 0x7f0e028b; + public static int titleAdvancedRCSettings = 0x7f0e028c; + public static int titleAdvancedRCSettings2 = 0x7f0e028d; + public static int titleDevices = 0x7f0e028e; + public static int titleInspectionReportDS = 0x7f0e028f; + public static int titleInspectionReportRC = 0x7f0e0290; + public static int titleLynxFirmwareUpdate = 0x7f0e0291; + public static int titleLynxModuleAddressUpdate = 0x7f0e0292; + public static int titleSaveConfiguration = 0x7f0e0293; + public static int titleText_view = 0x7f0e0294; + public static int titleUnsavedChanges = 0x7f0e0295; + public static int titleWarnAbout2_4GhzBand = 0x7f0e0296; + public static int titleWarnAboutIncorrectClocks = 0x7f0e0297; + public static int titleWarnAboutMismatchedAppVersions = 0x7f0e0298; + public static int titleWarnAboutObsoleteSoftware = 0x7f0e0299; + public static int title_activity_configfromtemplate = 0x7f0e029a; + public static int title_activity_load = 0x7f0e029b; + public static int title_activity_wifi_channel_selector = 0x7f0e029c; + public static int title_activity_wifi_remembered_groups_editor = 0x7f0e029d; + public static int title_p2p_connected_wrong_device = 0x7f0e029e; + public static int title_p2p_misconfigured = 0x7f0e029f; + public static int title_p2p_unprintable_chars = 0x7f0e02a0; + public static int toastCantCreateRobotConfigFilesDir = 0x7f0e02a1; + public static int toastDisableWifi = 0x7f0e02a2; + public static int toastDisableWifiWarn = 0x7f0e02a3; + public static int toastDisconnectedFromWifiDirect = 0x7f0e02a4; + public static int toastDuplicateName = 0x7f0e02a5; + public static int toastEnableWifi = 0x7f0e02a6; + public static int toastErrorDisconnectingFromWifiDirect = 0x7f0e02a7; + public static int toastLynxAddressChangeComplete = 0x7f0e02a8; + public static int toastLynxAddressChangeFailed = 0x7f0e02a9; + public static int toastLynxAddressChangeNothingToDo = 0x7f0e02aa; + public static int toastLynxFirmwareUpdateSuccessful = 0x7f0e02ab; + public static int toastOpModeStuck = 0x7f0e02ac; + public static int toastRebootRC = 0x7f0e02ad; + public static int toastRestartRobotComplete = 0x7f0e02ae; + public static int toastRestartingRobot = 0x7f0e02af; + public static int toastRobotSetupComplete = 0x7f0e02b0; + public static int toastSaved = 0x7f0e02b1; + public static int toastWebViewDownloadFile = 0x7f0e02b2; + public static int toastWebViewDownloadsComplete = 0x7f0e02b3; + public static int toastWifiP2pChannelChangeRequestedDS = 0x7f0e02b5; + public static int toastWifiP2pRememberedGroupsCleared = 0x7f0e02b6; + public static int tokenThemeBlue = 0x7f0e02b8; + public static int tokenThemeGreen = 0x7f0e02b9; + public static int tokenThemeOrange = 0x7f0e02ba; + public static int tokenThemePurple = 0x7f0e02bb; + public static int tokenThemeRed = 0x7f0e02bc; + public static int tokenThemeTeal = 0x7f0e02bd; + public static int trafficCountLabel = 0x7f0e02be; + public static int unavailable = 0x7f0e02bf; + public static int unhealthyDevice = 0x7f0e02c0; + public static int unknown_control_hub_error = 0x7f0e02c1; + public static int unknown_wifi_direct_channel = 0x7f0e02c2; + public static int update_lynx_firmware = 0x7f0e02c3; + public static int usb_pid_name_logitech_c310 = 0x7f0e02c4; + public static int usb_pid_name_logitech_c920 = 0x7f0e02c5; + public static int usb_vid_name_dell = 0x7f0e02c6; + public static int usb_vid_name_ftdi = 0x7f0e02c7; + public static int usb_vid_name_generic = 0x7f0e02c8; + public static int usb_vid_name_google = 0x7f0e02c9; + public static int usb_vid_name_logitech = 0x7f0e02ca; + public static int usb_vid_name_microsoft = 0x7f0e02cb; + public static int usb_vid_name_qualcomm = 0x7f0e02cc; + public static int userSensorTypeBusDefault = 0x7f0e02cd; + public static int view_logs_activity = 0x7f0e02ce; + public static int warning2_4GhzUnnecessaryUsage = 0x7f0e02cf; + public static int warning2_4GhzUnnecessaryUsageWiFiDirectAuto = 0x7f0e02d0; + public static int warningAttemptedToUseBhi260OnOldOS = 0x7f0e02d1; + public static int warningBothAppsObsolete = 0x7f0e02d2; + public static int warningBothClocksBehind = 0x7f0e02d3; + public static int warningChOsObsolete = 0x7f0e02d4; + public static int warningClocksDiffer = 0x7f0e02d5; + public static int warningDhOsObsolete = 0x7f0e02d6; + public static int warningDsAppObsolete = 0x7f0e02d7; + public static int warningDsClockBehind = 0x7f0e02d8; + public static int warningDuplicateOpMode = 0x7f0e02d9; + public static int warningI2cCommError = 0x7f0e02da; + public static int warningMismatchedAppVersions = 0x7f0e02db; + public static int warningProblemCommunicatingWithUSBDevice = 0x7f0e02dc; + public static int warningRcAppObsolete = 0x7f0e02dd; + public static int warningRcClockBehind = 0x7f0e02de; + public static int warningRetrievedMultipleDeviceInstances = 0x7f0e02df; + public static int warningTtsFailedToInitialize = 0x7f0e02e0; + public static int warningUSBDeviceDetached = 0x7f0e02e1; + public static int warningUnableToOpen = 0x7f0e02e2; + public static int webViewDownloadRequestDescription = 0x7f0e02e3; + public static int webcamNotFound = 0x7f0e02e4; + public static int webcamNotFoundWithName = 0x7f0e02e5; + public static int webcam_name_prompt = 0x7f0e02e6; + public static int wifiAccessPointLabel = 0x7f0e02e7; + public static int wifiApDescription = 0x7f0e02e8; + public static int wifiConnectedLabel = 0x7f0e02e9; + public static int wifiEnabledContext = 0x7f0e02ea; + public static int wifiEnabledLabel = 0x7f0e02eb; + public static int wifiNameLabel = 0x7f0e02ec; + public static int wirelessApStatusLabel = 0x7f0e02ed; + public static int writeXML_prompt = 0x7f0e02ee; + public static int writeXML_text = 0x7f0e02ef; + public static int zxing_app_name = 0x7f0e02f0; + public static int zxing_button_ok = 0x7f0e02f1; + public static int zxing_msg_camera_framework_bug = 0x7f0e02f2; + public static int zxing_msg_default_status = 0x7f0e02f3; + + private string() { + } + } + + public static final class style { + public static int AlertDialog_AppCompat = 0x7f0f0000; + public static int AlertDialog_AppCompat_Light = 0x7f0f0001; + public static int Animation_AppCompat_Dialog = 0x7f0f0002; + public static int Animation_AppCompat_DropDownUp = 0x7f0f0003; + public static int Animation_AppCompat_Tooltip = 0x7f0f0004; + public static int AppBaseTheme = 0x7f0f0005; + public static int AppTheme = 0x7f0f0006; + public static int AppTheme_Blue = 0x7f0f0007; + public static int AppTheme_Green = 0x7f0f0008; + public static int AppTheme_Orange = 0x7f0f0009; + public static int AppTheme_Purple = 0x7f0f000a; + public static int AppTheme_Red = 0x7f0f000b; + public static int AppTheme_Teal = 0x7f0f000c; + public static int Base_AlertDialog_AppCompat = 0x7f0f0013; + public static int Base_AlertDialog_AppCompat_Light = 0x7f0f0014; + public static int Base_Animation_AppCompat_Dialog = 0x7f0f0015; + public static int Base_Animation_AppCompat_DropDownUp = 0x7f0f0016; + public static int Base_Animation_AppCompat_Tooltip = 0x7f0f0017; + public static int Base_DialogWindowTitleBackground_AppCompat = 0x7f0f0019; + public static int Base_DialogWindowTitle_AppCompat = 0x7f0f0018; + public static int Base_TextAppearance_AppCompat = 0x7f0f001a; + public static int Base_TextAppearance_AppCompat_Body1 = 0x7f0f001b; + public static int Base_TextAppearance_AppCompat_Body2 = 0x7f0f001c; + public static int Base_TextAppearance_AppCompat_Button = 0x7f0f001d; + public static int Base_TextAppearance_AppCompat_Caption = 0x7f0f001e; + public static int Base_TextAppearance_AppCompat_Display1 = 0x7f0f001f; + public static int Base_TextAppearance_AppCompat_Display2 = 0x7f0f0020; + public static int Base_TextAppearance_AppCompat_Display3 = 0x7f0f0021; + public static int Base_TextAppearance_AppCompat_Display4 = 0x7f0f0022; + public static int Base_TextAppearance_AppCompat_Headline = 0x7f0f0023; + public static int Base_TextAppearance_AppCompat_Inverse = 0x7f0f0024; + public static int Base_TextAppearance_AppCompat_Large = 0x7f0f0025; + public static int Base_TextAppearance_AppCompat_Large_Inverse = 0x7f0f0026; + public static int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0f0027; + public static int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0f0028; + public static int Base_TextAppearance_AppCompat_Medium = 0x7f0f0029; + public static int Base_TextAppearance_AppCompat_Medium_Inverse = 0x7f0f002a; + public static int Base_TextAppearance_AppCompat_Menu = 0x7f0f002b; + public static int Base_TextAppearance_AppCompat_SearchResult = 0x7f0f002c; + public static int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0f002d; + public static int Base_TextAppearance_AppCompat_SearchResult_Title = 0x7f0f002e; + public static int Base_TextAppearance_AppCompat_Small = 0x7f0f002f; + public static int Base_TextAppearance_AppCompat_Small_Inverse = 0x7f0f0030; + public static int Base_TextAppearance_AppCompat_Subhead = 0x7f0f0031; + public static int Base_TextAppearance_AppCompat_Subhead_Inverse = 0x7f0f0032; + public static int Base_TextAppearance_AppCompat_Title = 0x7f0f0033; + public static int Base_TextAppearance_AppCompat_Title_Inverse = 0x7f0f0034; + public static int Base_TextAppearance_AppCompat_Tooltip = 0x7f0f0035; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0f0036; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0f0037; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0f0038; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0f0039; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0f003a; + public static int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0f003b; + public static int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0f003c; + public static int Base_TextAppearance_AppCompat_Widget_Button = 0x7f0f003d; + public static int Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 0x7f0f003e; + public static int Base_TextAppearance_AppCompat_Widget_Button_Colored = 0x7f0f003f; + public static int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f0f0040; + public static int Base_TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0f0041; + public static int Base_TextAppearance_AppCompat_Widget_PopupMenu_Header = 0x7f0f0042; + public static int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0f0043; + public static int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0f0044; + public static int Base_TextAppearance_AppCompat_Widget_Switch = 0x7f0f0045; + public static int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f0f0046; + public static int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0f0047; + public static int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f0f0048; + public static int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f0f0049; + public static int Base_ThemeOverlay_AppCompat = 0x7f0f0058; + public static int Base_ThemeOverlay_AppCompat_ActionBar = 0x7f0f0059; + public static int Base_ThemeOverlay_AppCompat_Dark = 0x7f0f005a; + public static int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f0f005b; + public static int Base_ThemeOverlay_AppCompat_Dialog = 0x7f0f005c; + public static int Base_ThemeOverlay_AppCompat_Dialog_Alert = 0x7f0f005d; + public static int Base_ThemeOverlay_AppCompat_Light = 0x7f0f005e; + public static int Base_Theme_AppCompat = 0x7f0f004a; + public static int Base_Theme_AppCompat_CompactMenu = 0x7f0f004b; + public static int Base_Theme_AppCompat_Dialog = 0x7f0f004c; + public static int Base_Theme_AppCompat_DialogWhenLarge = 0x7f0f0050; + public static int Base_Theme_AppCompat_Dialog_Alert = 0x7f0f004d; + public static int Base_Theme_AppCompat_Dialog_FixedSize = 0x7f0f004e; + public static int Base_Theme_AppCompat_Dialog_MinWidth = 0x7f0f004f; + public static int Base_Theme_AppCompat_Light = 0x7f0f0051; + public static int Base_Theme_AppCompat_Light_DarkActionBar = 0x7f0f0052; + public static int Base_Theme_AppCompat_Light_Dialog = 0x7f0f0053; + public static int Base_Theme_AppCompat_Light_DialogWhenLarge = 0x7f0f0057; + public static int Base_Theme_AppCompat_Light_Dialog_Alert = 0x7f0f0054; + public static int Base_Theme_AppCompat_Light_Dialog_FixedSize = 0x7f0f0055; + public static int Base_Theme_AppCompat_Light_Dialog_MinWidth = 0x7f0f0056; + public static int Base_V21_ThemeOverlay_AppCompat_Dialog = 0x7f0f0063; + public static int Base_V21_Theme_AppCompat = 0x7f0f005f; + public static int Base_V21_Theme_AppCompat_Dialog = 0x7f0f0060; + public static int Base_V21_Theme_AppCompat_Light = 0x7f0f0061; + public static int Base_V21_Theme_AppCompat_Light_Dialog = 0x7f0f0062; + public static int Base_V22_Theme_AppCompat = 0x7f0f0064; + public static int Base_V22_Theme_AppCompat_Light = 0x7f0f0065; + public static int Base_V23_Theme_AppCompat = 0x7f0f0066; + public static int Base_V23_Theme_AppCompat_Light = 0x7f0f0067; + public static int Base_V26_Theme_AppCompat = 0x7f0f0068; + public static int Base_V26_Theme_AppCompat_Light = 0x7f0f0069; + public static int Base_V26_Widget_AppCompat_Toolbar = 0x7f0f006a; + public static int Base_V28_Theme_AppCompat = 0x7f0f006b; + public static int Base_V28_Theme_AppCompat_Light = 0x7f0f006c; + public static int Base_V7_ThemeOverlay_AppCompat_Dialog = 0x7f0f0071; + public static int Base_V7_Theme_AppCompat = 0x7f0f006d; + public static int Base_V7_Theme_AppCompat_Dialog = 0x7f0f006e; + public static int Base_V7_Theme_AppCompat_Light = 0x7f0f006f; + public static int Base_V7_Theme_AppCompat_Light_Dialog = 0x7f0f0070; + public static int Base_V7_Widget_AppCompat_AutoCompleteTextView = 0x7f0f0072; + public static int Base_V7_Widget_AppCompat_EditText = 0x7f0f0073; + public static int Base_V7_Widget_AppCompat_Toolbar = 0x7f0f0074; + public static int Base_Widget_AppCompat_ActionBar = 0x7f0f0075; + public static int Base_Widget_AppCompat_ActionBar_Solid = 0x7f0f0076; + public static int Base_Widget_AppCompat_ActionBar_TabBar = 0x7f0f0077; + public static int Base_Widget_AppCompat_ActionBar_TabText = 0x7f0f0078; + public static int Base_Widget_AppCompat_ActionBar_TabView = 0x7f0f0079; + public static int Base_Widget_AppCompat_ActionButton = 0x7f0f007a; + public static int Base_Widget_AppCompat_ActionButton_CloseMode = 0x7f0f007b; + public static int Base_Widget_AppCompat_ActionButton_Overflow = 0x7f0f007c; + public static int Base_Widget_AppCompat_ActionMode = 0x7f0f007d; + public static int Base_Widget_AppCompat_ActivityChooserView = 0x7f0f007e; + public static int Base_Widget_AppCompat_AutoCompleteTextView = 0x7f0f007f; + public static int Base_Widget_AppCompat_Button = 0x7f0f0080; + public static int Base_Widget_AppCompat_ButtonBar = 0x7f0f0086; + public static int Base_Widget_AppCompat_ButtonBar_AlertDialog = 0x7f0f0087; + public static int Base_Widget_AppCompat_Button_Borderless = 0x7f0f0081; + public static int Base_Widget_AppCompat_Button_Borderless_Colored = 0x7f0f0082; + public static int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f0f0083; + public static int Base_Widget_AppCompat_Button_Colored = 0x7f0f0084; + public static int Base_Widget_AppCompat_Button_Small = 0x7f0f0085; + public static int Base_Widget_AppCompat_CompoundButton_CheckBox = 0x7f0f0088; + public static int Base_Widget_AppCompat_CompoundButton_RadioButton = 0x7f0f0089; + public static int Base_Widget_AppCompat_CompoundButton_Switch = 0x7f0f008a; + public static int Base_Widget_AppCompat_DrawerArrowToggle = 0x7f0f008b; + public static int Base_Widget_AppCompat_DrawerArrowToggle_Common = 0x7f0f008c; + public static int Base_Widget_AppCompat_DropDownItem_Spinner = 0x7f0f008d; + public static int Base_Widget_AppCompat_EditText = 0x7f0f008e; + public static int Base_Widget_AppCompat_ImageButton = 0x7f0f008f; + public static int Base_Widget_AppCompat_Light_ActionBar = 0x7f0f0090; + public static int Base_Widget_AppCompat_Light_ActionBar_Solid = 0x7f0f0091; + public static int Base_Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0f0092; + public static int Base_Widget_AppCompat_Light_ActionBar_TabText = 0x7f0f0093; + public static int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0f0094; + public static int Base_Widget_AppCompat_Light_ActionBar_TabView = 0x7f0f0095; + public static int Base_Widget_AppCompat_Light_PopupMenu = 0x7f0f0096; + public static int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f0f0097; + public static int Base_Widget_AppCompat_ListMenuView = 0x7f0f0098; + public static int Base_Widget_AppCompat_ListPopupWindow = 0x7f0f0099; + public static int Base_Widget_AppCompat_ListView = 0x7f0f009a; + public static int Base_Widget_AppCompat_ListView_DropDown = 0x7f0f009b; + public static int Base_Widget_AppCompat_ListView_Menu = 0x7f0f009c; + public static int Base_Widget_AppCompat_PopupMenu = 0x7f0f009d; + public static int Base_Widget_AppCompat_PopupMenu_Overflow = 0x7f0f009e; + public static int Base_Widget_AppCompat_PopupWindow = 0x7f0f009f; + public static int Base_Widget_AppCompat_ProgressBar = 0x7f0f00a0; + public static int Base_Widget_AppCompat_ProgressBar_Horizontal = 0x7f0f00a1; + public static int Base_Widget_AppCompat_RatingBar = 0x7f0f00a2; + public static int Base_Widget_AppCompat_RatingBar_Indicator = 0x7f0f00a3; + public static int Base_Widget_AppCompat_RatingBar_Small = 0x7f0f00a4; + public static int Base_Widget_AppCompat_SearchView = 0x7f0f00a5; + public static int Base_Widget_AppCompat_SearchView_ActionBar = 0x7f0f00a6; + public static int Base_Widget_AppCompat_SeekBar = 0x7f0f00a7; + public static int Base_Widget_AppCompat_SeekBar_Discrete = 0x7f0f00a8; + public static int Base_Widget_AppCompat_Spinner = 0x7f0f00a9; + public static int Base_Widget_AppCompat_Spinner_Underlined = 0x7f0f00aa; + public static int Base_Widget_AppCompat_TextView = 0x7f0f00ab; + public static int Base_Widget_AppCompat_TextView_SpinnerItem = 0x7f0f00ac; + public static int Base_Widget_AppCompat_Toolbar = 0x7f0f00ad; + public static int Base_Widget_AppCompat_Toolbar_Button_Navigation = 0x7f0f00ae; + public static int ConfigWifiDirectDialog = 0x7f0f00af; + public static int FeedbackButton = 0x7f0f00b0; + public static int FeedbackText = 0x7f0f00b1; + public static int FtcButtonStyle = 0x7f0f00b2; + public static int FtcTextViewStyle = 0x7f0f00b3; + public static int FtcTextViewStyleBold = 0x7f0f00b4; + public static int OpModeDialogTextAppearance = 0x7f0f00b5; + public static int Platform_AppCompat = 0x7f0f00b6; + public static int Platform_AppCompat_Light = 0x7f0f00b7; + public static int Platform_ThemeOverlay_AppCompat = 0x7f0f00b8; + public static int Platform_ThemeOverlay_AppCompat_Dark = 0x7f0f00b9; + public static int Platform_ThemeOverlay_AppCompat_Light = 0x7f0f00ba; + public static int Platform_V21_AppCompat = 0x7f0f00bb; + public static int Platform_V21_AppCompat_Light = 0x7f0f00bc; + public static int Platform_V25_AppCompat = 0x7f0f00bd; + public static int Platform_V25_AppCompat_Light = 0x7f0f00be; + public static int Platform_Widget_AppCompat_Spinner = 0x7f0f00bf; + public static int RtlOverlay_DialogWindowTitle_AppCompat = 0x7f0f00c0; + public static int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 0x7f0f00c1; + public static int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 0x7f0f00c2; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem = 0x7f0f00c3; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 0x7f0f00c4; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut = 0x7f0f00c5; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow = 0x7f0f00c6; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 0x7f0f00c7; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_Title = 0x7f0f00c8; + public static int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 0x7f0f00ce; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown = 0x7f0f00c9; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 0x7f0f00ca; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 0x7f0f00cb; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 0x7f0f00cc; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 0x7f0f00cd; + public static int RtlUnderlay_Widget_AppCompat_ActionButton = 0x7f0f00cf; + public static int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 0x7f0f00d0; + public static int TextAppearance_AppCompat = 0x7f0f00d1; + public static int TextAppearance_AppCompat_Body1 = 0x7f0f00d2; + public static int TextAppearance_AppCompat_Body2 = 0x7f0f00d3; + public static int TextAppearance_AppCompat_Button = 0x7f0f00d4; + public static int TextAppearance_AppCompat_Caption = 0x7f0f00d5; + public static int TextAppearance_AppCompat_Display1 = 0x7f0f00d6; + public static int TextAppearance_AppCompat_Display2 = 0x7f0f00d7; + public static int TextAppearance_AppCompat_Display3 = 0x7f0f00d8; + public static int TextAppearance_AppCompat_Display4 = 0x7f0f00d9; + public static int TextAppearance_AppCompat_Headline = 0x7f0f00da; + public static int TextAppearance_AppCompat_Inverse = 0x7f0f00db; + public static int TextAppearance_AppCompat_Large = 0x7f0f00dc; + public static int TextAppearance_AppCompat_Large_Inverse = 0x7f0f00dd; + public static int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0f00de; + public static int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0f00df; + public static int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0f00e0; + public static int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0f00e1; + public static int TextAppearance_AppCompat_Medium = 0x7f0f00e2; + public static int TextAppearance_AppCompat_Medium_Inverse = 0x7f0f00e3; + public static int TextAppearance_AppCompat_Menu = 0x7f0f00e4; + public static int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0f00e5; + public static int TextAppearance_AppCompat_SearchResult_Title = 0x7f0f00e6; + public static int TextAppearance_AppCompat_Small = 0x7f0f00e7; + public static int TextAppearance_AppCompat_Small_Inverse = 0x7f0f00e8; + public static int TextAppearance_AppCompat_Subhead = 0x7f0f00e9; + public static int TextAppearance_AppCompat_Subhead_Inverse = 0x7f0f00ea; + public static int TextAppearance_AppCompat_Title = 0x7f0f00eb; + public static int TextAppearance_AppCompat_Title_Inverse = 0x7f0f00ec; + public static int TextAppearance_AppCompat_Tooltip = 0x7f0f00ed; + public static int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0f00ee; + public static int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0f00ef; + public static int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0f00f0; + public static int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0f00f1; + public static int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0f00f2; + public static int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0f00f3; + public static int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0f00f4; + public static int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0f00f5; + public static int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0f00f6; + public static int TextAppearance_AppCompat_Widget_Button = 0x7f0f00f7; + public static int TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 0x7f0f00f8; + public static int TextAppearance_AppCompat_Widget_Button_Colored = 0x7f0f00f9; + public static int TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f0f00fa; + public static int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0f00fb; + public static int TextAppearance_AppCompat_Widget_PopupMenu_Header = 0x7f0f00fc; + public static int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0f00fd; + public static int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0f00fe; + public static int TextAppearance_AppCompat_Widget_Switch = 0x7f0f00ff; + public static int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f0f0100; + public static int TextAppearance_Compat_Notification = 0x7f0f0101; + public static int TextAppearance_Compat_Notification_Info = 0x7f0f0102; + public static int TextAppearance_Compat_Notification_Line2 = 0x7f0f0103; + public static int TextAppearance_Compat_Notification_Time = 0x7f0f0104; + public static int TextAppearance_Compat_Notification_Title = 0x7f0f0105; + public static int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0f0106; + public static int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f0f0107; + public static int TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f0f0108; + public static int ThemeOverlay_AppCompat = 0x7f0f011f; + public static int ThemeOverlay_AppCompat_ActionBar = 0x7f0f0120; + public static int ThemeOverlay_AppCompat_Dark = 0x7f0f0121; + public static int ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f0f0122; + public static int ThemeOverlay_AppCompat_DayNight = 0x7f0f0123; + public static int ThemeOverlay_AppCompat_DayNight_ActionBar = 0x7f0f0124; + public static int ThemeOverlay_AppCompat_Dialog = 0x7f0f0125; + public static int ThemeOverlay_AppCompat_Dialog_Alert = 0x7f0f0126; + public static int ThemeOverlay_AppCompat_Light = 0x7f0f0127; + public static int Theme_AppCompat = 0x7f0f0109; + public static int Theme_AppCompat_CompactMenu = 0x7f0f010a; + public static int Theme_AppCompat_DayNight = 0x7f0f010b; + public static int Theme_AppCompat_DayNight_DarkActionBar = 0x7f0f010c; + public static int Theme_AppCompat_DayNight_Dialog = 0x7f0f010d; + public static int Theme_AppCompat_DayNight_DialogWhenLarge = 0x7f0f0110; + public static int Theme_AppCompat_DayNight_Dialog_Alert = 0x7f0f010e; + public static int Theme_AppCompat_DayNight_Dialog_MinWidth = 0x7f0f010f; + public static int Theme_AppCompat_DayNight_NoActionBar = 0x7f0f0111; + public static int Theme_AppCompat_Dialog = 0x7f0f0112; + public static int Theme_AppCompat_DialogWhenLarge = 0x7f0f0115; + public static int Theme_AppCompat_Dialog_Alert = 0x7f0f0113; + public static int Theme_AppCompat_Dialog_MinWidth = 0x7f0f0114; + public static int Theme_AppCompat_Empty = 0x7f0f0116; + public static int Theme_AppCompat_Light = 0x7f0f0117; + public static int Theme_AppCompat_Light_DarkActionBar = 0x7f0f0118; + public static int Theme_AppCompat_Light_Dialog = 0x7f0f0119; + public static int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0f011c; + public static int Theme_AppCompat_Light_Dialog_Alert = 0x7f0f011a; + public static int Theme_AppCompat_Light_Dialog_MinWidth = 0x7f0f011b; + public static int Theme_AppCompat_Light_NoActionBar = 0x7f0f011d; + public static int Theme_AppCompat_NoActionBar = 0x7f0f011e; + public static int Widget_AppCompat_ActionBar = 0x7f0f0128; + public static int Widget_AppCompat_ActionBar_Solid = 0x7f0f0129; + public static int Widget_AppCompat_ActionBar_TabBar = 0x7f0f012a; + public static int Widget_AppCompat_ActionBar_TabText = 0x7f0f012b; + public static int Widget_AppCompat_ActionBar_TabView = 0x7f0f012c; + public static int Widget_AppCompat_ActionButton = 0x7f0f012d; + public static int Widget_AppCompat_ActionButton_CloseMode = 0x7f0f012e; + public static int Widget_AppCompat_ActionButton_Overflow = 0x7f0f012f; + public static int Widget_AppCompat_ActionMode = 0x7f0f0130; + public static int Widget_AppCompat_ActivityChooserView = 0x7f0f0131; + public static int Widget_AppCompat_AutoCompleteTextView = 0x7f0f0132; + public static int Widget_AppCompat_Button = 0x7f0f0133; + public static int Widget_AppCompat_ButtonBar = 0x7f0f0139; + public static int Widget_AppCompat_ButtonBar_AlertDialog = 0x7f0f013a; + public static int Widget_AppCompat_Button_Borderless = 0x7f0f0134; + public static int Widget_AppCompat_Button_Borderless_Colored = 0x7f0f0135; + public static int Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f0f0136; + public static int Widget_AppCompat_Button_Colored = 0x7f0f0137; + public static int Widget_AppCompat_Button_Small = 0x7f0f0138; + public static int Widget_AppCompat_CompoundButton_CheckBox = 0x7f0f013b; + public static int Widget_AppCompat_CompoundButton_RadioButton = 0x7f0f013c; + public static int Widget_AppCompat_CompoundButton_Switch = 0x7f0f013d; + public static int Widget_AppCompat_DrawerArrowToggle = 0x7f0f013e; + public static int Widget_AppCompat_DropDownItem_Spinner = 0x7f0f013f; + public static int Widget_AppCompat_EditText = 0x7f0f0140; + public static int Widget_AppCompat_ImageButton = 0x7f0f0141; + public static int Widget_AppCompat_Light_ActionBar = 0x7f0f0142; + public static int Widget_AppCompat_Light_ActionBar_Solid = 0x7f0f0143; + public static int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f0f0144; + public static int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0f0145; + public static int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f0f0146; + public static int Widget_AppCompat_Light_ActionBar_TabText = 0x7f0f0147; + public static int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0f0148; + public static int Widget_AppCompat_Light_ActionBar_TabView = 0x7f0f0149; + public static int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f0f014a; + public static int Widget_AppCompat_Light_ActionButton = 0x7f0f014b; + public static int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f0f014c; + public static int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f0f014d; + public static int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f0f014e; + public static int Widget_AppCompat_Light_ActivityChooserView = 0x7f0f014f; + public static int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f0f0150; + public static int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f0f0151; + public static int Widget_AppCompat_Light_ListPopupWindow = 0x7f0f0152; + public static int Widget_AppCompat_Light_ListView_DropDown = 0x7f0f0153; + public static int Widget_AppCompat_Light_PopupMenu = 0x7f0f0154; + public static int Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f0f0155; + public static int Widget_AppCompat_Light_SearchView = 0x7f0f0156; + public static int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f0f0157; + public static int Widget_AppCompat_ListMenuView = 0x7f0f0158; + public static int Widget_AppCompat_ListPopupWindow = 0x7f0f0159; + public static int Widget_AppCompat_ListView = 0x7f0f015a; + public static int Widget_AppCompat_ListView_DropDown = 0x7f0f015b; + public static int Widget_AppCompat_ListView_Menu = 0x7f0f015c; + public static int Widget_AppCompat_PopupMenu = 0x7f0f015d; + public static int Widget_AppCompat_PopupMenu_Overflow = 0x7f0f015e; + public static int Widget_AppCompat_PopupWindow = 0x7f0f015f; + public static int Widget_AppCompat_ProgressBar = 0x7f0f0160; + public static int Widget_AppCompat_ProgressBar_Horizontal = 0x7f0f0161; + public static int Widget_AppCompat_RatingBar = 0x7f0f0162; + public static int Widget_AppCompat_RatingBar_Indicator = 0x7f0f0163; + public static int Widget_AppCompat_RatingBar_Small = 0x7f0f0164; + public static int Widget_AppCompat_SearchView = 0x7f0f0165; + public static int Widget_AppCompat_SearchView_ActionBar = 0x7f0f0166; + public static int Widget_AppCompat_SeekBar = 0x7f0f0167; + public static int Widget_AppCompat_SeekBar_Discrete = 0x7f0f0168; + public static int Widget_AppCompat_Spinner = 0x7f0f0169; + public static int Widget_AppCompat_Spinner_DropDown = 0x7f0f016a; + public static int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f0f016b; + public static int Widget_AppCompat_Spinner_Underlined = 0x7f0f016c; + public static int Widget_AppCompat_TextView = 0x7f0f016d; + public static int Widget_AppCompat_TextView_SpinnerItem = 0x7f0f016e; + public static int Widget_AppCompat_Toolbar = 0x7f0f016f; + public static int Widget_AppCompat_Toolbar_Button_Navigation = 0x7f0f0170; + public static int Widget_Compat_NotificationActionContainer = 0x7f0f0171; + public static int Widget_Compat_NotificationActionText = 0x7f0f0172; + public static int zxing_CaptureTheme = 0x7f0f0173; + + private style() { + } + } + + public static final class styleable { + public static int ActionBarLayout_android_layout_gravity = 0x00000000; + public static int ActionBar_background = 0x00000000; + public static int ActionBar_backgroundSplit = 0x00000001; + public static int ActionBar_backgroundStacked = 0x00000002; + public static int ActionBar_contentInsetEnd = 0x00000003; + public static int ActionBar_contentInsetEndWithActions = 0x00000004; + public static int ActionBar_contentInsetLeft = 0x00000005; + public static int ActionBar_contentInsetRight = 0x00000006; + public static int ActionBar_contentInsetStart = 0x00000007; + public static int ActionBar_contentInsetStartWithNavigation = 0x00000008; + public static int ActionBar_customNavigationLayout = 0x00000009; + public static int ActionBar_displayOptions = 0x0000000a; + public static int ActionBar_divider = 0x0000000b; + public static int ActionBar_elevation = 0x0000000c; + public static int ActionBar_height = 0x0000000d; + public static int ActionBar_hideOnContentScroll = 0x0000000e; + public static int ActionBar_homeAsUpIndicator = 0x0000000f; + public static int ActionBar_homeLayout = 0x00000010; + public static int ActionBar_icon = 0x00000011; + public static int ActionBar_indeterminateProgressStyle = 0x00000012; + public static int ActionBar_itemPadding = 0x00000013; + public static int ActionBar_logo = 0x00000014; + public static int ActionBar_navigationMode = 0x00000015; + public static int ActionBar_popupTheme = 0x00000016; + public static int ActionBar_progressBarPadding = 0x00000017; + public static int ActionBar_progressBarStyle = 0x00000018; + public static int ActionBar_subtitle = 0x00000019; + public static int ActionBar_subtitleTextStyle = 0x0000001a; + public static int ActionBar_title = 0x0000001b; + public static int ActionBar_titleTextStyle = 0x0000001c; + public static int ActionMenuItemView_android_minWidth = 0x00000000; + public static int ActionMode_background = 0x00000000; + public static int ActionMode_backgroundSplit = 0x00000001; + public static int ActionMode_closeItemLayout = 0x00000002; + public static int ActionMode_height = 0x00000003; + public static int ActionMode_subtitleTextStyle = 0x00000004; + public static int ActionMode_titleTextStyle = 0x00000005; + public static int ActivityChooserView_expandActivityOverflowButtonDrawable = 0x00000000; + public static int ActivityChooserView_initialActivityCount = 0x00000001; + public static int AlertDialog_android_layout = 0x00000000; + public static int AlertDialog_buttonIconDimen = 0x00000001; + public static int AlertDialog_buttonPanelSideLayout = 0x00000002; + public static int AlertDialog_listItemLayout = 0x00000003; + public static int AlertDialog_listLayout = 0x00000004; + public static int AlertDialog_multiChoiceItemLayout = 0x00000005; + public static int AlertDialog_showTitle = 0x00000006; + public static int AlertDialog_singleChoiceItemLayout = 0x00000007; + public static int AnimatedStateListDrawableCompat_android_constantSize = 0x00000003; + public static int AnimatedStateListDrawableCompat_android_dither = 0x00000000; + public static int AnimatedStateListDrawableCompat_android_enterFadeDuration = 0x00000004; + public static int AnimatedStateListDrawableCompat_android_exitFadeDuration = 0x00000005; + public static int AnimatedStateListDrawableCompat_android_variablePadding = 0x00000002; + public static int AnimatedStateListDrawableCompat_android_visible = 0x00000001; + public static int AnimatedStateListDrawableItem_android_drawable = 0x00000001; + public static int AnimatedStateListDrawableItem_android_id = 0x00000000; + public static int AnimatedStateListDrawableTransition_android_drawable = 0x00000000; + public static int AnimatedStateListDrawableTransition_android_fromId = 0x00000002; + public static int AnimatedStateListDrawableTransition_android_reversible = 0x00000003; + public static int AnimatedStateListDrawableTransition_android_toId = 0x00000001; + public static int AppCompatImageView_android_src = 0x00000000; + public static int AppCompatImageView_srcCompat = 0x00000001; + public static int AppCompatImageView_tint = 0x00000002; + public static int AppCompatImageView_tintMode = 0x00000003; + public static int AppCompatSeekBar_android_thumb = 0x00000000; + public static int AppCompatSeekBar_tickMark = 0x00000001; + public static int AppCompatSeekBar_tickMarkTint = 0x00000002; + public static int AppCompatSeekBar_tickMarkTintMode = 0x00000003; + public static int AppCompatTextHelper_android_drawableBottom = 0x00000002; + public static int AppCompatTextHelper_android_drawableEnd = 0x00000006; + public static int AppCompatTextHelper_android_drawableLeft = 0x00000003; + public static int AppCompatTextHelper_android_drawableRight = 0x00000004; + public static int AppCompatTextHelper_android_drawableStart = 0x00000005; + public static int AppCompatTextHelper_android_drawableTop = 0x00000001; + public static int AppCompatTextHelper_android_textAppearance = 0x00000000; + public static int AppCompatTextView_android_textAppearance = 0x00000000; + public static int AppCompatTextView_autoSizeMaxTextSize = 0x00000001; + public static int AppCompatTextView_autoSizeMinTextSize = 0x00000002; + public static int AppCompatTextView_autoSizePresetSizes = 0x00000003; + public static int AppCompatTextView_autoSizeStepGranularity = 0x00000004; + public static int AppCompatTextView_autoSizeTextType = 0x00000005; + public static int AppCompatTextView_drawableBottomCompat = 0x00000006; + public static int AppCompatTextView_drawableEndCompat = 0x00000007; + public static int AppCompatTextView_drawableLeftCompat = 0x00000008; + public static int AppCompatTextView_drawableRightCompat = 0x00000009; + public static int AppCompatTextView_drawableStartCompat = 0x0000000a; + public static int AppCompatTextView_drawableTint = 0x0000000b; + public static int AppCompatTextView_drawableTintMode = 0x0000000c; + public static int AppCompatTextView_drawableTopCompat = 0x0000000d; + public static int AppCompatTextView_firstBaselineToTopHeight = 0x0000000e; + public static int AppCompatTextView_fontFamily = 0x0000000f; + public static int AppCompatTextView_fontVariationSettings = 0x00000010; + public static int AppCompatTextView_lastBaselineToBottomHeight = 0x00000011; + public static int AppCompatTextView_lineHeight = 0x00000012; + public static int AppCompatTextView_textAllCaps = 0x00000013; + public static int AppCompatTextView_textLocale = 0x00000014; + public static int AppCompatTheme_actionBarDivider = 0x00000002; + public static int AppCompatTheme_actionBarItemBackground = 0x00000003; + public static int AppCompatTheme_actionBarPopupTheme = 0x00000004; + public static int AppCompatTheme_actionBarSize = 0x00000005; + public static int AppCompatTheme_actionBarSplitStyle = 0x00000006; + public static int AppCompatTheme_actionBarStyle = 0x00000007; + public static int AppCompatTheme_actionBarTabBarStyle = 0x00000008; + public static int AppCompatTheme_actionBarTabStyle = 0x00000009; + public static int AppCompatTheme_actionBarTabTextStyle = 0x0000000a; + public static int AppCompatTheme_actionBarTheme = 0x0000000b; + public static int AppCompatTheme_actionBarWidgetTheme = 0x0000000c; + public static int AppCompatTheme_actionButtonStyle = 0x0000000d; + public static int AppCompatTheme_actionDropDownStyle = 0x0000000e; + public static int AppCompatTheme_actionMenuTextAppearance = 0x0000000f; + public static int AppCompatTheme_actionMenuTextColor = 0x00000010; + public static int AppCompatTheme_actionModeBackground = 0x00000011; + public static int AppCompatTheme_actionModeCloseButtonStyle = 0x00000012; + public static int AppCompatTheme_actionModeCloseDrawable = 0x00000013; + public static int AppCompatTheme_actionModeCopyDrawable = 0x00000014; + public static int AppCompatTheme_actionModeCutDrawable = 0x00000015; + public static int AppCompatTheme_actionModeFindDrawable = 0x00000016; + public static int AppCompatTheme_actionModePasteDrawable = 0x00000017; + public static int AppCompatTheme_actionModePopupWindowStyle = 0x00000018; + public static int AppCompatTheme_actionModeSelectAllDrawable = 0x00000019; + public static int AppCompatTheme_actionModeShareDrawable = 0x0000001a; + public static int AppCompatTheme_actionModeSplitBackground = 0x0000001b; + public static int AppCompatTheme_actionModeStyle = 0x0000001c; + public static int AppCompatTheme_actionModeWebSearchDrawable = 0x0000001d; + public static int AppCompatTheme_actionOverflowButtonStyle = 0x0000001e; + public static int AppCompatTheme_actionOverflowMenuStyle = 0x0000001f; + public static int AppCompatTheme_activityChooserViewStyle = 0x00000020; + public static int AppCompatTheme_alertDialogButtonGroupStyle = 0x00000021; + public static int AppCompatTheme_alertDialogCenterButtons = 0x00000022; + public static int AppCompatTheme_alertDialogStyle = 0x00000023; + public static int AppCompatTheme_alertDialogTheme = 0x00000024; + public static int AppCompatTheme_android_windowAnimationStyle = 0x00000001; + public static int AppCompatTheme_android_windowIsFloating = 0x00000000; + public static int AppCompatTheme_autoCompleteTextViewStyle = 0x00000025; + public static int AppCompatTheme_borderlessButtonStyle = 0x00000026; + public static int AppCompatTheme_buttonBarButtonStyle = 0x00000027; + public static int AppCompatTheme_buttonBarNegativeButtonStyle = 0x00000028; + public static int AppCompatTheme_buttonBarNeutralButtonStyle = 0x00000029; + public static int AppCompatTheme_buttonBarPositiveButtonStyle = 0x0000002a; + public static int AppCompatTheme_buttonBarStyle = 0x0000002b; + public static int AppCompatTheme_buttonStyle = 0x0000002c; + public static int AppCompatTheme_buttonStyleSmall = 0x0000002d; + public static int AppCompatTheme_checkboxStyle = 0x0000002e; + public static int AppCompatTheme_checkedTextViewStyle = 0x0000002f; + public static int AppCompatTheme_colorAccent = 0x00000030; + public static int AppCompatTheme_colorBackgroundFloating = 0x00000031; + public static int AppCompatTheme_colorButtonNormal = 0x00000032; + public static int AppCompatTheme_colorControlActivated = 0x00000033; + public static int AppCompatTheme_colorControlHighlight = 0x00000034; + public static int AppCompatTheme_colorControlNormal = 0x00000035; + public static int AppCompatTheme_colorError = 0x00000036; + public static int AppCompatTheme_colorPrimary = 0x00000037; + public static int AppCompatTheme_colorPrimaryDark = 0x00000038; + public static int AppCompatTheme_colorSwitchThumbNormal = 0x00000039; + public static int AppCompatTheme_controlBackground = 0x0000003a; + public static int AppCompatTheme_dialogCornerRadius = 0x0000003b; + public static int AppCompatTheme_dialogPreferredPadding = 0x0000003c; + public static int AppCompatTheme_dialogTheme = 0x0000003d; + public static int AppCompatTheme_dividerHorizontal = 0x0000003e; + public static int AppCompatTheme_dividerVertical = 0x0000003f; + public static int AppCompatTheme_dropDownListViewStyle = 0x00000040; + public static int AppCompatTheme_dropdownListPreferredItemHeight = 0x00000041; + public static int AppCompatTheme_editTextBackground = 0x00000042; + public static int AppCompatTheme_editTextColor = 0x00000043; + public static int AppCompatTheme_editTextStyle = 0x00000044; + public static int AppCompatTheme_homeAsUpIndicator = 0x00000045; + public static int AppCompatTheme_imageButtonStyle = 0x00000046; + public static int AppCompatTheme_listChoiceBackgroundIndicator = 0x00000047; + public static int AppCompatTheme_listChoiceIndicatorMultipleAnimated = 0x00000048; + public static int AppCompatTheme_listChoiceIndicatorSingleAnimated = 0x00000049; + public static int AppCompatTheme_listDividerAlertDialog = 0x0000004a; + public static int AppCompatTheme_listMenuViewStyle = 0x0000004b; + public static int AppCompatTheme_listPopupWindowStyle = 0x0000004c; + public static int AppCompatTheme_listPreferredItemHeight = 0x0000004d; + public static int AppCompatTheme_listPreferredItemHeightLarge = 0x0000004e; + public static int AppCompatTheme_listPreferredItemHeightSmall = 0x0000004f; + public static int AppCompatTheme_listPreferredItemPaddingEnd = 0x00000050; + public static int AppCompatTheme_listPreferredItemPaddingLeft = 0x00000051; + public static int AppCompatTheme_listPreferredItemPaddingRight = 0x00000052; + public static int AppCompatTheme_listPreferredItemPaddingStart = 0x00000053; + public static int AppCompatTheme_panelBackground = 0x00000054; + public static int AppCompatTheme_panelMenuListTheme = 0x00000055; + public static int AppCompatTheme_panelMenuListWidth = 0x00000056; + public static int AppCompatTheme_popupMenuStyle = 0x00000057; + public static int AppCompatTheme_popupWindowStyle = 0x00000058; + public static int AppCompatTheme_radioButtonStyle = 0x00000059; + public static int AppCompatTheme_ratingBarStyle = 0x0000005a; + public static int AppCompatTheme_ratingBarStyleIndicator = 0x0000005b; + public static int AppCompatTheme_ratingBarStyleSmall = 0x0000005c; + public static int AppCompatTheme_searchViewStyle = 0x0000005d; + public static int AppCompatTheme_seekBarStyle = 0x0000005e; + public static int AppCompatTheme_selectableItemBackground = 0x0000005f; + public static int AppCompatTheme_selectableItemBackgroundBorderless = 0x00000060; + public static int AppCompatTheme_spinnerDropDownItemStyle = 0x00000061; + public static int AppCompatTheme_spinnerStyle = 0x00000062; + public static int AppCompatTheme_switchStyle = 0x00000063; + public static int AppCompatTheme_textAppearanceLargePopupMenu = 0x00000064; + public static int AppCompatTheme_textAppearanceListItem = 0x00000065; + public static int AppCompatTheme_textAppearanceListItemSecondary = 0x00000066; + public static int AppCompatTheme_textAppearanceListItemSmall = 0x00000067; + public static int AppCompatTheme_textAppearancePopupMenuHeader = 0x00000068; + public static int AppCompatTheme_textAppearanceSearchResultSubtitle = 0x00000069; + public static int AppCompatTheme_textAppearanceSearchResultTitle = 0x0000006a; + public static int AppCompatTheme_textAppearanceSmallPopupMenu = 0x0000006b; + public static int AppCompatTheme_textColorAlertDialogListItem = 0x0000006c; + public static int AppCompatTheme_textColorSearchUrl = 0x0000006d; + public static int AppCompatTheme_toolbarNavigationButtonStyle = 0x0000006e; + public static int AppCompatTheme_toolbarStyle = 0x0000006f; + public static int AppCompatTheme_tooltipForegroundColor = 0x00000070; + public static int AppCompatTheme_tooltipFrameBackground = 0x00000071; + public static int AppCompatTheme_viewInflaterClass = 0x00000072; + public static int AppCompatTheme_windowActionBar = 0x00000073; + public static int AppCompatTheme_windowActionBarOverlay = 0x00000074; + public static int AppCompatTheme_windowActionModeOverlay = 0x00000075; + public static int AppCompatTheme_windowFixedHeightMajor = 0x00000076; + public static int AppCompatTheme_windowFixedHeightMinor = 0x00000077; + public static int AppCompatTheme_windowFixedWidthMajor = 0x00000078; + public static int AppCompatTheme_windowFixedWidthMinor = 0x00000079; + public static int AppCompatTheme_windowMinWidthMajor = 0x0000007a; + public static int AppCompatTheme_windowMinWidthMinor = 0x0000007b; + public static int AppCompatTheme_windowNoTitle = 0x0000007c; + public static int ButtonBarLayout_allowStacking = 0x00000000; + public static int CameraBridgeViewBase_camera_id = 0x00000000; + public static int CameraBridgeViewBase_show_fps = 0x00000001; + public static int ColorListPreference_colors = 0x00000000; + public static int ColorStateListItem_alpha = 0x00000002; + public static int ColorStateListItem_android_alpha = 0x00000001; + public static int ColorStateListItem_android_color = 0x00000000; + public static int CompoundButton_android_button = 0x00000000; + public static int CompoundButton_buttonCompat = 0x00000001; + public static int CompoundButton_buttonTint = 0x00000002; + public static int CompoundButton_buttonTintMode = 0x00000003; + public static int DrawerArrowToggle_arrowHeadLength = 0x00000000; + public static int DrawerArrowToggle_arrowShaftLength = 0x00000001; + public static int DrawerArrowToggle_barLength = 0x00000002; + public static int DrawerArrowToggle_color = 0x00000003; + public static int DrawerArrowToggle_drawableSize = 0x00000004; + public static int DrawerArrowToggle_gapBetweenBars = 0x00000005; + public static int DrawerArrowToggle_spinBars = 0x00000006; + public static int DrawerArrowToggle_thickness = 0x00000007; + public static int FontFamilyFont_android_font = 0x00000000; + public static int FontFamilyFont_android_fontStyle = 0x00000002; + public static int FontFamilyFont_android_fontVariationSettings = 0x00000004; + public static int FontFamilyFont_android_fontWeight = 0x00000001; + public static int FontFamilyFont_android_ttcIndex = 0x00000003; + public static int FontFamilyFont_font = 0x00000005; + public static int FontFamilyFont_fontStyle = 0x00000006; + public static int FontFamilyFont_fontVariationSettings = 0x00000007; + public static int FontFamilyFont_fontWeight = 0x00000008; + public static int FontFamilyFont_ttcIndex = 0x00000009; + public static int FontFamily_fontProviderAuthority = 0x00000000; + public static int FontFamily_fontProviderCerts = 0x00000001; + public static int FontFamily_fontProviderFetchStrategy = 0x00000002; + public static int FontFamily_fontProviderFetchTimeout = 0x00000003; + public static int FontFamily_fontProviderPackage = 0x00000004; + public static int FontFamily_fontProviderQuery = 0x00000005; + public static int GradientColorItem_android_color = 0x00000000; + public static int GradientColorItem_android_offset = 0x00000001; + public static int GradientColor_android_centerColor = 0x00000007; + public static int GradientColor_android_centerX = 0x00000003; + public static int GradientColor_android_centerY = 0x00000004; + public static int GradientColor_android_endColor = 0x00000001; + public static int GradientColor_android_endX = 0x0000000a; + public static int GradientColor_android_endY = 0x0000000b; + public static int GradientColor_android_gradientRadius = 0x00000005; + public static int GradientColor_android_startColor = 0x00000000; + public static int GradientColor_android_startX = 0x00000008; + public static int GradientColor_android_startY = 0x00000009; + public static int GradientColor_android_tileMode = 0x00000006; + public static int GradientColor_android_type = 0x00000002; + public static int LinearLayoutCompat_Layout_android_layout_gravity = 0x00000000; + public static int LinearLayoutCompat_Layout_android_layout_height = 0x00000002; + public static int LinearLayoutCompat_Layout_android_layout_weight = 0x00000003; + public static int LinearLayoutCompat_Layout_android_layout_width = 0x00000001; + public static int LinearLayoutCompat_android_baselineAligned = 0x00000002; + public static int LinearLayoutCompat_android_baselineAlignedChildIndex = 0x00000003; + public static int LinearLayoutCompat_android_gravity = 0x00000000; + public static int LinearLayoutCompat_android_orientation = 0x00000001; + public static int LinearLayoutCompat_android_weightSum = 0x00000004; + public static int LinearLayoutCompat_divider = 0x00000005; + public static int LinearLayoutCompat_dividerPadding = 0x00000006; + public static int LinearLayoutCompat_measureWithLargestChild = 0x00000007; + public static int LinearLayoutCompat_showDividers = 0x00000008; + public static int ListPopupWindow_android_dropDownHorizontalOffset = 0x00000000; + public static int ListPopupWindow_android_dropDownVerticalOffset = 0x00000001; + public static int MenuGroup_android_checkableBehavior = 0x00000005; + public static int MenuGroup_android_enabled = 0x00000000; + public static int MenuGroup_android_id = 0x00000001; + public static int MenuGroup_android_menuCategory = 0x00000003; + public static int MenuGroup_android_orderInCategory = 0x00000004; + public static int MenuGroup_android_visible = 0x00000002; + public static int MenuItem_actionLayout = 0x0000000d; + public static int MenuItem_actionProviderClass = 0x0000000e; + public static int MenuItem_actionViewClass = 0x0000000f; + public static int MenuItem_alphabeticModifiers = 0x00000010; + public static int MenuItem_android_alphabeticShortcut = 0x00000009; + public static int MenuItem_android_checkable = 0x0000000b; + public static int MenuItem_android_checked = 0x00000003; + public static int MenuItem_android_enabled = 0x00000001; + public static int MenuItem_android_icon = 0x00000000; + public static int MenuItem_android_id = 0x00000002; + public static int MenuItem_android_menuCategory = 0x00000005; + public static int MenuItem_android_numericShortcut = 0x0000000a; + public static int MenuItem_android_onClick = 0x0000000c; + public static int MenuItem_android_orderInCategory = 0x00000006; + public static int MenuItem_android_title = 0x00000007; + public static int MenuItem_android_titleCondensed = 0x00000008; + public static int MenuItem_android_visible = 0x00000004; + public static int MenuItem_contentDescription = 0x00000011; + public static int MenuItem_iconTint = 0x00000012; + public static int MenuItem_iconTintMode = 0x00000013; + public static int MenuItem_numericModifiers = 0x00000014; + public static int MenuItem_showAsAction = 0x00000015; + public static int MenuItem_tooltipText = 0x00000016; + public static int MenuView_android_headerBackground = 0x00000004; + public static int MenuView_android_horizontalDivider = 0x00000002; + public static int MenuView_android_itemBackground = 0x00000005; + public static int MenuView_android_itemIconDisabledAlpha = 0x00000006; + public static int MenuView_android_itemTextAppearance = 0x00000001; + public static int MenuView_android_verticalDivider = 0x00000003; + public static int MenuView_android_windowAnimationStyle = 0x00000000; + public static int MenuView_preserveIconSpacing = 0x00000007; + public static int MenuView_subMenuArrow = 0x00000008; + public static int PopupWindowBackgroundState_state_above_anchor = 0x00000000; + public static int PopupWindow_android_popupAnimationStyle = 0x00000001; + public static int PopupWindow_android_popupBackground = 0x00000000; + public static int PopupWindow_overlapAnchor = 0x00000002; + public static int RecycleListView_paddingBottomNoButtons = 0x00000000; + public static int RecycleListView_paddingTopNoTitle = 0x00000001; + public static int SearchView_android_focusable = 0x00000000; + public static int SearchView_android_imeOptions = 0x00000003; + public static int SearchView_android_inputType = 0x00000002; + public static int SearchView_android_maxWidth = 0x00000001; + public static int SearchView_closeIcon = 0x00000004; + public static int SearchView_commitIcon = 0x00000005; + public static int SearchView_defaultQueryHint = 0x00000006; + public static int SearchView_goIcon = 0x00000007; + public static int SearchView_iconifiedByDefault = 0x00000008; + public static int SearchView_layout = 0x00000009; + public static int SearchView_queryBackground = 0x0000000a; + public static int SearchView_queryHint = 0x0000000b; + public static int SearchView_searchHintIcon = 0x0000000c; + public static int SearchView_searchIcon = 0x0000000d; + public static int SearchView_submitBackground = 0x0000000e; + public static int SearchView_suggestionRowLayout = 0x0000000f; + public static int SearchView_voiceIcon = 0x00000010; + public static int Spinner_android_dropDownWidth = 0x00000003; + public static int Spinner_android_entries = 0x00000000; + public static int Spinner_android_popupBackground = 0x00000001; + public static int Spinner_android_prompt = 0x00000002; + public static int Spinner_popupTheme = 0x00000004; + public static int StateListDrawableItem_android_drawable = 0x00000000; + public static int StateListDrawable_android_constantSize = 0x00000003; + public static int StateListDrawable_android_dither = 0x00000000; + public static int StateListDrawable_android_enterFadeDuration = 0x00000004; + public static int StateListDrawable_android_exitFadeDuration = 0x00000005; + public static int StateListDrawable_android_variablePadding = 0x00000002; + public static int StateListDrawable_android_visible = 0x00000001; + public static int SwitchCompat_android_textOff = 0x00000001; + public static int SwitchCompat_android_textOn = 0x00000000; + public static int SwitchCompat_android_thumb = 0x00000002; + public static int SwitchCompat_showText = 0x00000003; + public static int SwitchCompat_splitTrack = 0x00000004; + public static int SwitchCompat_switchMinWidth = 0x00000005; + public static int SwitchCompat_switchPadding = 0x00000006; + public static int SwitchCompat_switchTextAppearance = 0x00000007; + public static int SwitchCompat_thumbTextPadding = 0x00000008; + public static int SwitchCompat_thumbTint = 0x00000009; + public static int SwitchCompat_thumbTintMode = 0x0000000a; + public static int SwitchCompat_track = 0x0000000b; + public static int SwitchCompat_trackTint = 0x0000000c; + public static int SwitchCompat_trackTintMode = 0x0000000d; + public static int TextAppearance_android_fontFamily = 0x0000000a; + public static int TextAppearance_android_shadowColor = 0x00000006; + public static int TextAppearance_android_shadowDx = 0x00000007; + public static int TextAppearance_android_shadowDy = 0x00000008; + public static int TextAppearance_android_shadowRadius = 0x00000009; + public static int TextAppearance_android_textColor = 0x00000003; + public static int TextAppearance_android_textColorHint = 0x00000004; + public static int TextAppearance_android_textColorLink = 0x00000005; + public static int TextAppearance_android_textFontWeight = 0x0000000b; + public static int TextAppearance_android_textSize = 0x00000000; + public static int TextAppearance_android_textStyle = 0x00000002; + public static int TextAppearance_android_typeface = 0x00000001; + public static int TextAppearance_fontFamily = 0x0000000c; + public static int TextAppearance_fontVariationSettings = 0x0000000d; + public static int TextAppearance_textAllCaps = 0x0000000e; + public static int TextAppearance_textLocale = 0x0000000f; + public static int Toolbar_android_gravity = 0x00000000; + public static int Toolbar_android_minHeight = 0x00000001; + public static int Toolbar_buttonGravity = 0x00000002; + public static int Toolbar_collapseContentDescription = 0x00000003; + public static int Toolbar_collapseIcon = 0x00000004; + public static int Toolbar_contentInsetEnd = 0x00000005; + public static int Toolbar_contentInsetEndWithActions = 0x00000006; + public static int Toolbar_contentInsetLeft = 0x00000007; + public static int Toolbar_contentInsetRight = 0x00000008; + public static int Toolbar_contentInsetStart = 0x00000009; + public static int Toolbar_contentInsetStartWithNavigation = 0x0000000a; + public static int Toolbar_logo = 0x0000000b; + public static int Toolbar_logoDescription = 0x0000000c; + public static int Toolbar_maxButtonHeight = 0x0000000d; + public static int Toolbar_menu = 0x0000000e; + public static int Toolbar_navigationContentDescription = 0x0000000f; + public static int Toolbar_navigationIcon = 0x00000010; + public static int Toolbar_popupTheme = 0x00000011; + public static int Toolbar_subtitle = 0x00000012; + public static int Toolbar_subtitleTextAppearance = 0x00000013; + public static int Toolbar_subtitleTextColor = 0x00000014; + public static int Toolbar_title = 0x00000015; + public static int Toolbar_titleMargin = 0x00000016; + public static int Toolbar_titleMarginBottom = 0x00000017; + public static int Toolbar_titleMarginEnd = 0x00000018; + public static int Toolbar_titleMarginStart = 0x00000019; + public static int Toolbar_titleMarginTop = 0x0000001a; + public static int Toolbar_titleMargins = 0x0000001b; + public static int Toolbar_titleTextAppearance = 0x0000001c; + public static int Toolbar_titleTextColor = 0x0000001d; + public static int ViewBackgroundHelper_android_background = 0x00000000; + public static int ViewBackgroundHelper_backgroundTint = 0x00000001; + public static int ViewBackgroundHelper_backgroundTintMode = 0x00000002; + public static int ViewStubCompat_android_id = 0x00000000; + public static int ViewStubCompat_android_inflatedId = 0x00000002; + public static int ViewStubCompat_android_layout = 0x00000001; + public static int View_android_focusable = 0x00000001; + public static int View_android_theme = 0x00000000; + public static int View_paddingEnd = 0x00000002; + public static int View_paddingStart = 0x00000003; + public static int View_theme = 0x00000004; + public static int zxing_camera_preview_zxing_framing_rect_height = 0x00000000; + public static int zxing_camera_preview_zxing_framing_rect_width = 0x00000001; + public static int zxing_camera_preview_zxing_preview_scaling_strategy = 0x00000002; + public static int zxing_camera_preview_zxing_use_texture_view = 0x00000003; + public static int zxing_finder_zxing_possible_result_points = 0x00000000; + public static int zxing_finder_zxing_result_view = 0x00000001; + public static int zxing_finder_zxing_viewfinder_laser = 0x00000002; + public static int zxing_finder_zxing_viewfinder_laser_visibility = 0x00000003; + public static int zxing_finder_zxing_viewfinder_mask = 0x00000004; + public static int zxing_view_zxing_scanner_layout; + public static int[] ActionBar = {com.qualcomm.ftcrobotcontroller.R.attr.background, com.qualcomm.ftcrobotcontroller.R.attr.backgroundSplit, com.qualcomm.ftcrobotcontroller.R.attr.backgroundStacked, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEnd, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEndWithActions, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetLeft, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetRight, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStart, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStartWithNavigation, com.qualcomm.ftcrobotcontroller.R.attr.customNavigationLayout, com.qualcomm.ftcrobotcontroller.R.attr.displayOptions, com.qualcomm.ftcrobotcontroller.R.attr.divider, com.qualcomm.ftcrobotcontroller.R.attr.elevation, com.qualcomm.ftcrobotcontroller.R.attr.height, com.qualcomm.ftcrobotcontroller.R.attr.hideOnContentScroll, com.qualcomm.ftcrobotcontroller.R.attr.homeAsUpIndicator, com.qualcomm.ftcrobotcontroller.R.attr.homeLayout, com.qualcomm.ftcrobotcontroller.R.attr.icon, com.qualcomm.ftcrobotcontroller.R.attr.indeterminateProgressStyle, com.qualcomm.ftcrobotcontroller.R.attr.itemPadding, com.qualcomm.ftcrobotcontroller.R.attr.logo, com.qualcomm.ftcrobotcontroller.R.attr.navigationMode, com.qualcomm.ftcrobotcontroller.R.attr.popupTheme, com.qualcomm.ftcrobotcontroller.R.attr.progressBarPadding, com.qualcomm.ftcrobotcontroller.R.attr.progressBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.subtitle, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.title, com.qualcomm.ftcrobotcontroller.R.attr.titleTextStyle}; + public static int[] ActionBarLayout = {android.R.attr.layout_gravity}; + public static int[] ActionMenuItemView = {android.R.attr.minWidth}; + public static int[] ActionMenuView = new int[0]; + public static int[] ActionMode = {com.qualcomm.ftcrobotcontroller.R.attr.background, com.qualcomm.ftcrobotcontroller.R.attr.backgroundSplit, com.qualcomm.ftcrobotcontroller.R.attr.closeItemLayout, com.qualcomm.ftcrobotcontroller.R.attr.height, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.titleTextStyle}; + public static int[] ActivityChooserView = {com.qualcomm.ftcrobotcontroller.R.attr.expandActivityOverflowButtonDrawable, com.qualcomm.ftcrobotcontroller.R.attr.initialActivityCount}; + public static int[] AlertDialog = {android.R.attr.layout, com.qualcomm.ftcrobotcontroller.R.attr.buttonIconDimen, com.qualcomm.ftcrobotcontroller.R.attr.buttonPanelSideLayout, com.qualcomm.ftcrobotcontroller.R.attr.listItemLayout, com.qualcomm.ftcrobotcontroller.R.attr.listLayout, com.qualcomm.ftcrobotcontroller.R.attr.multiChoiceItemLayout, com.qualcomm.ftcrobotcontroller.R.attr.showTitle, com.qualcomm.ftcrobotcontroller.R.attr.singleChoiceItemLayout}; + public static int[] AnimatedStateListDrawableCompat = {android.R.attr.dither, android.R.attr.visible, android.R.attr.variablePadding, android.R.attr.constantSize, android.R.attr.enterFadeDuration, android.R.attr.exitFadeDuration}; + public static int[] AnimatedStateListDrawableItem = {android.R.attr.id, android.R.attr.drawable}; + public static int[] AnimatedStateListDrawableTransition = {android.R.attr.drawable, android.R.attr.toId, android.R.attr.fromId, android.R.attr.reversible}; + public static int[] AppCompatImageView = {android.R.attr.src, com.qualcomm.ftcrobotcontroller.R.attr.srcCompat, com.qualcomm.ftcrobotcontroller.R.attr.tint, com.qualcomm.ftcrobotcontroller.R.attr.tintMode}; + public static int[] AppCompatSeekBar = {android.R.attr.thumb, com.qualcomm.ftcrobotcontroller.R.attr.tickMark, com.qualcomm.ftcrobotcontroller.R.attr.tickMarkTint, com.qualcomm.ftcrobotcontroller.R.attr.tickMarkTintMode}; + public static int[] AppCompatTextHelper = {android.R.attr.textAppearance, android.R.attr.drawableTop, android.R.attr.drawableBottom, android.R.attr.drawableLeft, android.R.attr.drawableRight, android.R.attr.drawableStart, android.R.attr.drawableEnd}; + public static int[] AppCompatTextView = {android.R.attr.textAppearance, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeMaxTextSize, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeMinTextSize, com.qualcomm.ftcrobotcontroller.R.attr.autoSizePresetSizes, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeStepGranularity, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeTextType, com.qualcomm.ftcrobotcontroller.R.attr.drawableBottomCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableEndCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableLeftCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableRightCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableStartCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableTint, com.qualcomm.ftcrobotcontroller.R.attr.drawableTintMode, com.qualcomm.ftcrobotcontroller.R.attr.drawableTopCompat, com.qualcomm.ftcrobotcontroller.R.attr.firstBaselineToTopHeight, com.qualcomm.ftcrobotcontroller.R.attr.fontFamily, com.qualcomm.ftcrobotcontroller.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.lastBaselineToBottomHeight, com.qualcomm.ftcrobotcontroller.R.attr.lineHeight, com.qualcomm.ftcrobotcontroller.R.attr.textAllCaps, com.qualcomm.ftcrobotcontroller.R.attr.textLocale}; + public static int[] AppCompatTheme = {android.R.attr.windowIsFloating, android.R.attr.windowAnimationStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarDivider, com.qualcomm.ftcrobotcontroller.R.attr.actionBarItemBackground, com.qualcomm.ftcrobotcontroller.R.attr.actionBarPopupTheme, com.qualcomm.ftcrobotcontroller.R.attr.actionBarSize, com.qualcomm.ftcrobotcontroller.R.attr.actionBarSplitStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTabBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTabStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTabTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTheme, com.qualcomm.ftcrobotcontroller.R.attr.actionBarWidgetTheme, com.qualcomm.ftcrobotcontroller.R.attr.actionButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionDropDownStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionMenuTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.actionMenuTextColor, com.qualcomm.ftcrobotcontroller.R.attr.actionModeBackground, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCloseButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCloseDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCopyDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCutDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeFindDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModePasteDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModePopupWindowStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionModeSelectAllDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeShareDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeSplitBackground, com.qualcomm.ftcrobotcontroller.R.attr.actionModeStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionModeWebSearchDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionOverflowButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionOverflowMenuStyle, com.qualcomm.ftcrobotcontroller.R.attr.activityChooserViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogButtonGroupStyle, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogCenterButtons, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogStyle, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogTheme, com.qualcomm.ftcrobotcontroller.R.attr.autoCompleteTextViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.borderlessButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarNegativeButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarNeutralButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarPositiveButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonStyleSmall, com.qualcomm.ftcrobotcontroller.R.attr.checkboxStyle, com.qualcomm.ftcrobotcontroller.R.attr.checkedTextViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.colorAccent, com.qualcomm.ftcrobotcontroller.R.attr.colorBackgroundFloating, com.qualcomm.ftcrobotcontroller.R.attr.colorButtonNormal, com.qualcomm.ftcrobotcontroller.R.attr.colorControlActivated, com.qualcomm.ftcrobotcontroller.R.attr.colorControlHighlight, com.qualcomm.ftcrobotcontroller.R.attr.colorControlNormal, com.qualcomm.ftcrobotcontroller.R.attr.colorError, com.qualcomm.ftcrobotcontroller.R.attr.colorPrimary, com.qualcomm.ftcrobotcontroller.R.attr.colorPrimaryDark, com.qualcomm.ftcrobotcontroller.R.attr.colorSwitchThumbNormal, com.qualcomm.ftcrobotcontroller.R.attr.controlBackground, com.qualcomm.ftcrobotcontroller.R.attr.dialogCornerRadius, com.qualcomm.ftcrobotcontroller.R.attr.dialogPreferredPadding, com.qualcomm.ftcrobotcontroller.R.attr.dialogTheme, com.qualcomm.ftcrobotcontroller.R.attr.dividerHorizontal, com.qualcomm.ftcrobotcontroller.R.attr.dividerVertical, com.qualcomm.ftcrobotcontroller.R.attr.dropDownListViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.dropdownListPreferredItemHeight, com.qualcomm.ftcrobotcontroller.R.attr.editTextBackground, com.qualcomm.ftcrobotcontroller.R.attr.editTextColor, com.qualcomm.ftcrobotcontroller.R.attr.editTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.homeAsUpIndicator, com.qualcomm.ftcrobotcontroller.R.attr.imageButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.listChoiceBackgroundIndicator, com.qualcomm.ftcrobotcontroller.R.attr.listChoiceIndicatorMultipleAnimated, com.qualcomm.ftcrobotcontroller.R.attr.listChoiceIndicatorSingleAnimated, com.qualcomm.ftcrobotcontroller.R.attr.listDividerAlertDialog, com.qualcomm.ftcrobotcontroller.R.attr.listMenuViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.listPopupWindowStyle, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemHeight, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemHeightLarge, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemHeightSmall, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingEnd, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingLeft, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingRight, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingStart, com.qualcomm.ftcrobotcontroller.R.attr.panelBackground, com.qualcomm.ftcrobotcontroller.R.attr.panelMenuListTheme, com.qualcomm.ftcrobotcontroller.R.attr.panelMenuListWidth, com.qualcomm.ftcrobotcontroller.R.attr.popupMenuStyle, com.qualcomm.ftcrobotcontroller.R.attr.popupWindowStyle, com.qualcomm.ftcrobotcontroller.R.attr.radioButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.ratingBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.ratingBarStyleIndicator, com.qualcomm.ftcrobotcontroller.R.attr.ratingBarStyleSmall, com.qualcomm.ftcrobotcontroller.R.attr.searchViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.seekBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.selectableItemBackground, com.qualcomm.ftcrobotcontroller.R.attr.selectableItemBackgroundBorderless, com.qualcomm.ftcrobotcontroller.R.attr.spinnerDropDownItemStyle, com.qualcomm.ftcrobotcontroller.R.attr.spinnerStyle, com.qualcomm.ftcrobotcontroller.R.attr.switchStyle, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceLargePopupMenu, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceListItem, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceListItemSecondary, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceListItemSmall, com.qualcomm.ftcrobotcontroller.R.attr.textAppearancePopupMenuHeader, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceSearchResultSubtitle, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceSearchResultTitle, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceSmallPopupMenu, com.qualcomm.ftcrobotcontroller.R.attr.textColorAlertDialogListItem, com.qualcomm.ftcrobotcontroller.R.attr.textColorSearchUrl, com.qualcomm.ftcrobotcontroller.R.attr.toolbarNavigationButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.toolbarStyle, com.qualcomm.ftcrobotcontroller.R.attr.tooltipForegroundColor, com.qualcomm.ftcrobotcontroller.R.attr.tooltipFrameBackground, com.qualcomm.ftcrobotcontroller.R.attr.viewInflaterClass, com.qualcomm.ftcrobotcontroller.R.attr.windowActionBar, com.qualcomm.ftcrobotcontroller.R.attr.windowActionBarOverlay, com.qualcomm.ftcrobotcontroller.R.attr.windowActionModeOverlay, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedHeightMajor, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedHeightMinor, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedWidthMajor, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedWidthMinor, com.qualcomm.ftcrobotcontroller.R.attr.windowMinWidthMajor, com.qualcomm.ftcrobotcontroller.R.attr.windowMinWidthMinor, com.qualcomm.ftcrobotcontroller.R.attr.windowNoTitle}; + public static int[] ButtonBarLayout = {com.qualcomm.ftcrobotcontroller.R.attr.allowStacking}; + public static int[] CameraBridgeViewBase = {com.qualcomm.ftcrobotcontroller.R.attr.camera_id, com.qualcomm.ftcrobotcontroller.R.attr.show_fps}; + public static int[] ColorListPreference = {com.qualcomm.ftcrobotcontroller.R.attr.colors}; + public static int[] ColorStateListItem = {android.R.attr.color, android.R.attr.alpha, com.qualcomm.ftcrobotcontroller.R.attr.alpha}; + public static int[] CompoundButton = {android.R.attr.button, com.qualcomm.ftcrobotcontroller.R.attr.buttonCompat, com.qualcomm.ftcrobotcontroller.R.attr.buttonTint, com.qualcomm.ftcrobotcontroller.R.attr.buttonTintMode}; + public static int[] DrawerArrowToggle = {com.qualcomm.ftcrobotcontroller.R.attr.arrowHeadLength, com.qualcomm.ftcrobotcontroller.R.attr.arrowShaftLength, com.qualcomm.ftcrobotcontroller.R.attr.barLength, com.qualcomm.ftcrobotcontroller.R.attr.color, com.qualcomm.ftcrobotcontroller.R.attr.drawableSize, com.qualcomm.ftcrobotcontroller.R.attr.gapBetweenBars, com.qualcomm.ftcrobotcontroller.R.attr.spinBars, com.qualcomm.ftcrobotcontroller.R.attr.thickness}; + public static int[] FontFamily = {com.qualcomm.ftcrobotcontroller.R.attr.fontProviderAuthority, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderCerts, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderFetchStrategy, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderFetchTimeout, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderPackage, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderQuery}; + public static int[] FontFamilyFont = {android.R.attr.font, android.R.attr.fontWeight, android.R.attr.fontStyle, android.R.attr.ttcIndex, android.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.font, com.qualcomm.ftcrobotcontroller.R.attr.fontStyle, com.qualcomm.ftcrobotcontroller.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.fontWeight, com.qualcomm.ftcrobotcontroller.R.attr.ttcIndex}; + public static int[] GradientColor = {android.R.attr.startColor, android.R.attr.endColor, android.R.attr.type, android.R.attr.centerX, android.R.attr.centerY, android.R.attr.gradientRadius, android.R.attr.tileMode, android.R.attr.centerColor, android.R.attr.startX, android.R.attr.startY, android.R.attr.endX, android.R.attr.endY}; + public static int[] GradientColorItem = {android.R.attr.color, android.R.attr.offset}; + public static int[] LinearLayoutCompat = {android.R.attr.gravity, android.R.attr.orientation, android.R.attr.baselineAligned, android.R.attr.baselineAlignedChildIndex, android.R.attr.weightSum, com.qualcomm.ftcrobotcontroller.R.attr.divider, com.qualcomm.ftcrobotcontroller.R.attr.dividerPadding, com.qualcomm.ftcrobotcontroller.R.attr.measureWithLargestChild, com.qualcomm.ftcrobotcontroller.R.attr.showDividers}; + public static int[] LinearLayoutCompat_Layout = {android.R.attr.layout_gravity, android.R.attr.layout_width, android.R.attr.layout_height, android.R.attr.layout_weight}; + public static int[] ListPopupWindow = {android.R.attr.dropDownHorizontalOffset, android.R.attr.dropDownVerticalOffset}; + public static int[] MenuGroup = {android.R.attr.enabled, android.R.attr.id, android.R.attr.visible, android.R.attr.menuCategory, android.R.attr.orderInCategory, android.R.attr.checkableBehavior}; + public static int[] MenuItem = {android.R.attr.icon, android.R.attr.enabled, android.R.attr.id, android.R.attr.checked, android.R.attr.visible, android.R.attr.menuCategory, android.R.attr.orderInCategory, android.R.attr.title, android.R.attr.titleCondensed, android.R.attr.alphabeticShortcut, android.R.attr.numericShortcut, android.R.attr.checkable, android.R.attr.onClick, com.qualcomm.ftcrobotcontroller.R.attr.actionLayout, com.qualcomm.ftcrobotcontroller.R.attr.actionProviderClass, com.qualcomm.ftcrobotcontroller.R.attr.actionViewClass, com.qualcomm.ftcrobotcontroller.R.attr.alphabeticModifiers, com.qualcomm.ftcrobotcontroller.R.attr.contentDescription, com.qualcomm.ftcrobotcontroller.R.attr.iconTint, com.qualcomm.ftcrobotcontroller.R.attr.iconTintMode, com.qualcomm.ftcrobotcontroller.R.attr.numericModifiers, com.qualcomm.ftcrobotcontroller.R.attr.showAsAction, com.qualcomm.ftcrobotcontroller.R.attr.tooltipText}; + public static int[] MenuView = {android.R.attr.windowAnimationStyle, android.R.attr.itemTextAppearance, android.R.attr.horizontalDivider, android.R.attr.verticalDivider, android.R.attr.headerBackground, android.R.attr.itemBackground, android.R.attr.itemIconDisabledAlpha, com.qualcomm.ftcrobotcontroller.R.attr.preserveIconSpacing, com.qualcomm.ftcrobotcontroller.R.attr.subMenuArrow}; + public static int[] PopupWindow = {android.R.attr.popupBackground, android.R.attr.popupAnimationStyle, com.qualcomm.ftcrobotcontroller.R.attr.overlapAnchor}; + public static int[] PopupWindowBackgroundState = {com.qualcomm.ftcrobotcontroller.R.attr.state_above_anchor}; + public static int[] RecycleListView = {com.qualcomm.ftcrobotcontroller.R.attr.paddingBottomNoButtons, com.qualcomm.ftcrobotcontroller.R.attr.paddingTopNoTitle}; + public static int[] SearchView = {android.R.attr.focusable, android.R.attr.maxWidth, android.R.attr.inputType, android.R.attr.imeOptions, com.qualcomm.ftcrobotcontroller.R.attr.closeIcon, com.qualcomm.ftcrobotcontroller.R.attr.commitIcon, com.qualcomm.ftcrobotcontroller.R.attr.defaultQueryHint, com.qualcomm.ftcrobotcontroller.R.attr.goIcon, com.qualcomm.ftcrobotcontroller.R.attr.iconifiedByDefault, com.qualcomm.ftcrobotcontroller.R.attr.layout, com.qualcomm.ftcrobotcontroller.R.attr.queryBackground, com.qualcomm.ftcrobotcontroller.R.attr.queryHint, com.qualcomm.ftcrobotcontroller.R.attr.searchHintIcon, com.qualcomm.ftcrobotcontroller.R.attr.searchIcon, com.qualcomm.ftcrobotcontroller.R.attr.submitBackground, com.qualcomm.ftcrobotcontroller.R.attr.suggestionRowLayout, com.qualcomm.ftcrobotcontroller.R.attr.voiceIcon}; + public static int[] Spinner = {android.R.attr.entries, android.R.attr.popupBackground, android.R.attr.prompt, android.R.attr.dropDownWidth, com.qualcomm.ftcrobotcontroller.R.attr.popupTheme}; + public static int[] StateListDrawable = {android.R.attr.dither, android.R.attr.visible, android.R.attr.variablePadding, android.R.attr.constantSize, android.R.attr.enterFadeDuration, android.R.attr.exitFadeDuration}; + public static int[] StateListDrawableItem = {android.R.attr.drawable}; + public static int[] SwitchCompat = {android.R.attr.textOn, android.R.attr.textOff, android.R.attr.thumb, com.qualcomm.ftcrobotcontroller.R.attr.showText, com.qualcomm.ftcrobotcontroller.R.attr.splitTrack, com.qualcomm.ftcrobotcontroller.R.attr.switchMinWidth, com.qualcomm.ftcrobotcontroller.R.attr.switchPadding, com.qualcomm.ftcrobotcontroller.R.attr.switchTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.thumbTextPadding, com.qualcomm.ftcrobotcontroller.R.attr.thumbTint, com.qualcomm.ftcrobotcontroller.R.attr.thumbTintMode, com.qualcomm.ftcrobotcontroller.R.attr.track, com.qualcomm.ftcrobotcontroller.R.attr.trackTint, com.qualcomm.ftcrobotcontroller.R.attr.trackTintMode}; + public static int[] TextAppearance = {android.R.attr.textSize, android.R.attr.typeface, android.R.attr.textStyle, android.R.attr.textColor, android.R.attr.textColorHint, android.R.attr.textColorLink, android.R.attr.shadowColor, android.R.attr.shadowDx, android.R.attr.shadowDy, android.R.attr.shadowRadius, android.R.attr.fontFamily, android.R.attr.textFontWeight, com.qualcomm.ftcrobotcontroller.R.attr.fontFamily, com.qualcomm.ftcrobotcontroller.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.textAllCaps, com.qualcomm.ftcrobotcontroller.R.attr.textLocale}; + public static int[] Toolbar = {android.R.attr.gravity, android.R.attr.minHeight, com.qualcomm.ftcrobotcontroller.R.attr.buttonGravity, com.qualcomm.ftcrobotcontroller.R.attr.collapseContentDescription, com.qualcomm.ftcrobotcontroller.R.attr.collapseIcon, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEnd, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEndWithActions, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetLeft, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetRight, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStart, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStartWithNavigation, com.qualcomm.ftcrobotcontroller.R.attr.logo, com.qualcomm.ftcrobotcontroller.R.attr.logoDescription, com.qualcomm.ftcrobotcontroller.R.attr.maxButtonHeight, com.qualcomm.ftcrobotcontroller.R.attr.menu, com.qualcomm.ftcrobotcontroller.R.attr.navigationContentDescription, com.qualcomm.ftcrobotcontroller.R.attr.navigationIcon, com.qualcomm.ftcrobotcontroller.R.attr.popupTheme, com.qualcomm.ftcrobotcontroller.R.attr.subtitle, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextColor, com.qualcomm.ftcrobotcontroller.R.attr.title, com.qualcomm.ftcrobotcontroller.R.attr.titleMargin, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginBottom, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginEnd, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginStart, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginTop, com.qualcomm.ftcrobotcontroller.R.attr.titleMargins, com.qualcomm.ftcrobotcontroller.R.attr.titleTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.titleTextColor}; + public static int[] View = {android.R.attr.theme, android.R.attr.focusable, com.qualcomm.ftcrobotcontroller.R.attr.paddingEnd, com.qualcomm.ftcrobotcontroller.R.attr.paddingStart, com.qualcomm.ftcrobotcontroller.R.attr.theme}; + public static int[] ViewBackgroundHelper = {android.R.attr.background, com.qualcomm.ftcrobotcontroller.R.attr.backgroundTint, com.qualcomm.ftcrobotcontroller.R.attr.backgroundTintMode}; + public static int[] ViewStubCompat = {android.R.attr.id, android.R.attr.layout, android.R.attr.inflatedId}; + public static int[] zxing_camera_preview = {com.qualcomm.ftcrobotcontroller.R.attr.zxing_framing_rect_height, com.qualcomm.ftcrobotcontroller.R.attr.zxing_framing_rect_width, com.qualcomm.ftcrobotcontroller.R.attr.zxing_preview_scaling_strategy, com.qualcomm.ftcrobotcontroller.R.attr.zxing_use_texture_view}; + public static int[] zxing_finder = {com.qualcomm.ftcrobotcontroller.R.attr.zxing_possible_result_points, com.qualcomm.ftcrobotcontroller.R.attr.zxing_result_view, com.qualcomm.ftcrobotcontroller.R.attr.zxing_viewfinder_laser, com.qualcomm.ftcrobotcontroller.R.attr.zxing_viewfinder_laser_visibility, com.qualcomm.ftcrobotcontroller.R.attr.zxing_viewfinder_mask}; + public static int[] zxing_view = {com.qualcomm.ftcrobotcontroller.R.attr.zxing_scanner_layout}; + + private styleable() { + } + } + + public static final class xml { + public static int advanced_rc_settings = 0x7f110000; + public static int app_settings = 0x7f110001; + public static int builtinwebcamcalibrations = 0x7f110002; + public static int file_provider_paths = 0x7f110004; + public static int ftc_about_activity = 0x7f110005; + public static int ftc_about_activity_rc = 0x7f110006; + public static int k9legacybot = 0x7f110007; + public static int k9usbbot = 0x7f110008; + public static int maxmodules = 0x7f110009; + public static int pushbot = 0x7f11000a; + public static int pushbotsens = 0x7f11000b; + public static int rev_scoot = 0x7f11000c; + public static int squarebot = 0x7f11000d; + public static int teamwebcamcalibrations = 0x7f11000e; + + private xml() { + } + } + + private R() { + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/IOExceptionWithUserVisibleMessage.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/IOExceptionWithUserVisibleMessage.java new file mode 100644 index 000000000000..efd572bf5152 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/IOExceptionWithUserVisibleMessage.java @@ -0,0 +1,10 @@ +package com.google.blocks.ftcrobotcontroller; + +import java.io.IOException; + +/* JADX INFO: loaded from: classes8.dex */ +public class IOExceptionWithUserVisibleMessage extends IOException { + public IOExceptionWithUserVisibleMessage(String userVisibleMessage) { + super(userVisibleMessage); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/ProgrammingWebHandlers.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/ProgrammingWebHandlers.java new file mode 100644 index 000000000000..154162365713 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/ProgrammingWebHandlers.java @@ -0,0 +1,670 @@ +package com.google.blocks.ftcrobotcontroller; + +import com.google.blocks.ftcrobotcontroller.hardware.HardwareUtil; +import com.google.blocks.ftcrobotcontroller.util.BlocksArchive; +import com.google.blocks.ftcrobotcontroller.util.ClipboardUtil; +import com.google.blocks.ftcrobotcontroller.util.FileManager; +import com.google.blocks.ftcrobotcontroller.util.OfflineBlocksUtil; +import com.google.blocks.ftcrobotcontroller.util.ProjectsUtil; +import com.qualcomm.ftccommon.CommandList; +import com.qualcomm.robotcore.robocol.Command; +import fi.iki.elonen.NanoHTTPD; +import java.io.IOException; +import java.util.List; +import java.util.Map; +import org.firstinspires.ftc.onbotjava.OnBotJavaFileSystemUtils; +import org.firstinspires.ftc.onbotjava.OnBotJavaProgrammingMode; +import org.firstinspires.ftc.robotcore.internal.network.NetworkConnectionHandler; +import org.firstinspires.ftc.robotcore.internal.webserver.WebHandler; +import org.firstinspires.ftc.robotserver.internal.programmingmode.ProgrammingMode; +import org.firstinspires.ftc.robotserver.internal.programmingmode.ProgrammingModeManager; +import org.firstinspires.ftc.robotserver.internal.webserver.MimeTypesUtil; +import org.firstinspires.ftc.robotserver.internal.webserver.NoCachingWebHandler; +import org.firstinspires.ftc.robotserver.internal.webserver.RobotControllerWebHandlers; +import org.firstinspires.ftc.robotserver.internal.webserver.RobotWebHandlerManager; +import org.firstinspires.ftc.robotserver.internal.webserver.SessionParametersGenerator; + +/* JADX INFO: loaded from: classes8.dex */ +public class ProgrammingWebHandlers implements ProgrammingMode { + private static final String PARAM_BLK = "blk"; + private static final String PARAM_CLIPBOARD = "cb"; + private static final String PARAM_CONTENT = "content"; + private static final String PARAM_ENABLE = "enable"; + private static final String PARAM_FM_NAME = "fmname"; + private static final String PARAM_JAVA = "java"; + private static final String PARAM_JS = "js"; + private static final String PARAM_NAME = "name"; + private static final String PARAM_NEW_NAME = "new_name"; + private static final String PARAM_SAMPLE_NAME = "sample"; + private static final String URI_COLORS = "/css/colors.less"; + private static final String URI_COPY_FILE = "/copy_file"; + private static final String URI_COPY_PROJECT = "/copy"; + private static final String URI_DELETE_FILES = "/delete_files"; + private static final String URI_DELETE_PROJECTS = "/delete"; + private static final String URI_ENABLE_PROJECT = "/enable"; + private static final String URI_FETCH_BLK = "/fetch_blk"; + private static final String URI_FETCH_BLOCKS_ARCHIVE = "/archive_blocks"; + private static final String URI_FETCH_CLIPBOARD = "/fetch_cb"; + private static final String URI_FETCH_FILE = "/fetch_file"; + private static final String URI_FETCH_FILE_TYPE = "/fetch_file_type"; + private static final String URI_FETCH_OFFLINE_BLOCKS_EDITOR = "/offline_blocks_editor"; + private static final String URI_FILE_MANAGER_JS = "/file_manager_js"; + private static final String URI_GET_BLOCKS_JAVA_CLASS_NAME = "/get_blocks_java_class_name"; + private static final String URI_GET_CONFIGURATION_NAME = "/get_config_name"; + private static final String URI_HARDWARE = "/hardware"; + private static final String URI_LIST_FILES = "/list_files"; + private static final String URI_LIST_PROJECTS = "/list"; + private static final String URI_LIST_SAMPLES = "/samples"; + private static final String URI_NEW_PROJECT = "/new"; + private static final String URI_RENAME_FILE = "/rename_file"; + private static final String URI_RENAME_PROJECT = "/rename"; + private static final String URI_RESTART_ROBOT = "/restart_robot"; + private static final String URI_SAVE_BLOCKS_JAVA = "/save_blocks_java"; + private static final String URI_SAVE_CLIPBOARD = "/savecb"; + private static final String URI_SAVE_FILE = "/save_file"; + private static final String URI_SAVE_PROJECT = "/save"; + private static final String URI_SERVER = "/server"; + private volatile ProgrammingModeManager programmingModeManager; + public static final String TAG = ProgrammingWebHandlers.class.getSimpleName(); + private static String URI_NAV_BLOCKS_OLD = "/FtcProjects.html"; + private static String URI_NAV_BLOCKS = "/FtcBlocksProjects.html"; + private static String URI_NAV_ONBOTJAVA = OnBotJavaProgrammingMode.URI_JAVA_EDITOR; + + private static class Server implements WebHandler { + private Server() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchJavaScriptForServer(session); + } + + private NanoHTTPD.Response fetchJavaScriptForServer(NanoHTTPD.IHTTPSession session) throws IOException { + StringBuilder js = new StringBuilder(); + js.append("var URI_HARDWARE = '").append(ProgrammingWebHandlers.URI_HARDWARE).append("';\n"); + js.append("var URI_FILE_MANAGER_JS = '").append(ProgrammingWebHandlers.URI_FILE_MANAGER_JS).append("';\n"); + js.append("var URI_GET_CONFIGURATION_NAME = '").append(ProgrammingWebHandlers.URI_GET_CONFIGURATION_NAME).append("';\n"); + js.append("var URI_FETCH_OFFLINE_BLOCKS_EDITOR = '").append(ProgrammingWebHandlers.URI_FETCH_OFFLINE_BLOCKS_EDITOR).append("';\n"); + js.append("var URI_FETCH_BLOCKS_ARCHIVE = '").append(ProgrammingWebHandlers.URI_FETCH_BLOCKS_ARCHIVE).append("';\n"); + js.append("var URI_LIST_PROJECTS = '").append(ProgrammingWebHandlers.URI_LIST_PROJECTS).append("';\n"); + js.append("var URI_LIST_SAMPLES = '").append(ProgrammingWebHandlers.URI_LIST_SAMPLES).append("';\n"); + js.append("var URI_FETCH_BLK = '").append(ProgrammingWebHandlers.URI_FETCH_BLK).append("';\n"); + js.append("var URI_NEW_PROJECT = '").append(ProgrammingWebHandlers.URI_NEW_PROJECT).append("';\n"); + js.append("var URI_SAVE_PROJECT = '").append(ProgrammingWebHandlers.URI_SAVE_PROJECT).append("';\n"); + js.append("var URI_RENAME_PROJECT = '").append(ProgrammingWebHandlers.URI_RENAME_PROJECT).append("';\n"); + js.append("var URI_COPY_PROJECT = '").append(ProgrammingWebHandlers.URI_COPY_PROJECT).append("';\n"); + js.append("var URI_ENABLE_PROJECT = '").append(ProgrammingWebHandlers.URI_ENABLE_PROJECT).append("';\n"); + js.append("var URI_DELETE_PROJECTS = '").append(ProgrammingWebHandlers.URI_DELETE_PROJECTS).append("';\n"); + js.append("var URI_GET_BLOCKS_JAVA_CLASS_NAME = '").append(ProgrammingWebHandlers.URI_GET_BLOCKS_JAVA_CLASS_NAME).append("';\n"); + js.append("var URI_SAVE_BLOCKS_JAVA = '").append(ProgrammingWebHandlers.URI_SAVE_BLOCKS_JAVA).append("';\n"); + js.append("var URI_SAVE_CLIPBOARD = '").append(ProgrammingWebHandlers.URI_SAVE_CLIPBOARD).append("';\n"); + js.append("var URI_FETCH_CLIPBOARD = '").append(ProgrammingWebHandlers.URI_FETCH_CLIPBOARD).append("';\n"); + js.append("var URI_LIST_FILES = '").append(ProgrammingWebHandlers.URI_LIST_FILES).append("';\n"); + js.append("var URI_SAVE_FILE = '").append(ProgrammingWebHandlers.URI_SAVE_FILE).append("';\n"); + js.append("var URI_FETCH_FILE = '").append(ProgrammingWebHandlers.URI_FETCH_FILE).append("';\n"); + js.append("var URI_FETCH_FILE_TYPE = '").append(ProgrammingWebHandlers.URI_FETCH_FILE_TYPE).append("';\n"); + js.append("var URI_RENAME_FILE = '").append(ProgrammingWebHandlers.URI_RENAME_FILE).append("';\n"); + js.append("var URI_COPY_FILE = '").append(ProgrammingWebHandlers.URI_COPY_FILE).append("';\n"); + js.append("var URI_DELETE_FILES = '").append(ProgrammingWebHandlers.URI_DELETE_FILES).append("';\n"); + js.append("var URI_RESTART_ROBOT = '").append(ProgrammingWebHandlers.URI_RESTART_ROBOT).append("';\n"); + js.append("var PARAM_FM_NAME = '").append(ProgrammingWebHandlers.PARAM_FM_NAME).append("';\n"); + js.append("var PARAM_NAME = '").append("name").append("';\n"); + js.append("var PARAM_NEW_NAME = '").append("new_name").append("';\n"); + js.append("var PARAM_SAMPLE_NAME = '").append(ProgrammingWebHandlers.PARAM_SAMPLE_NAME).append("';\n"); + js.append("var PARAM_BLK = '").append(ProgrammingWebHandlers.PARAM_BLK).append("';\n"); + js.append("var PARAM_JS = '").append(ProgrammingWebHandlers.PARAM_JS).append("';\n"); + js.append("var PARAM_JAVA = '").append(ProgrammingWebHandlers.PARAM_JAVA).append("';\n"); + js.append("var PARAM_ENABLE = '").append(ProgrammingWebHandlers.PARAM_ENABLE).append("';\n"); + js.append("var PARAM_CLIPBOARD = '").append(ProgrammingWebHandlers.PARAM_CLIPBOARD).append("';\n"); + js.append("var PARAM_CONTENT = '").append(ProgrammingWebHandlers.PARAM_CONTENT).append("';\n"); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, MimeTypesUtil.MIME_JAVASCRIPT, js.toString())); + } + } + + private static class RobotControllerConfiguration extends RobotControllerWebHandlers.RobotControllerConfiguration { + private RobotControllerConfiguration() { + } + + @Override // org.firstinspires.ftc.robotserver.internal.webserver.RobotControllerWebHandlers.RobotControllerConfiguration + protected void appendVariables(StringBuilder js) { + super.appendVariables(js); + appendVariable(js, "URI_NAV_BLOCKS", ProgrammingWebHandlers.URI_NAV_BLOCKS); + appendVariable(js, "URI_NAV_ONBOTJAVA", ProgrammingWebHandlers.URI_NAV_ONBOTJAVA); + } + } + + private static class ListProjects implements WebHandler { + private ListProjects() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchProjects(session); + } + + private NanoHTTPD.Response fetchProjects(NanoHTTPD.IHTTPSession session) throws IOException { + String jsonProjects = ProjectsUtil.fetchProjectsWithBlocks(); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", jsonProjects)); + } + } + + private static class ListSamples implements WebHandler { + private ListSamples() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchSamples(session); + } + + private NanoHTTPD.Response fetchSamples(NanoHTTPD.IHTTPSession session) throws IOException { + String jsonSamples = ProjectsUtil.fetchSampleNames(); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", jsonSamples)); + } + } + + private static class Hardware implements WebHandler { + private Hardware() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchJavaScriptForHardware(session); + } + + private NanoHTTPD.Response fetchJavaScriptForHardware(NanoHTTPD.IHTTPSession session) throws IOException { + String jsHardware = HardwareUtil.fetchJavaScriptForHardware(); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, MimeTypesUtil.MIME_JAVASCRIPT, jsHardware)); + } + } + + private static class GetConfigurationName implements WebHandler { + private GetConfigurationName() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return getConfigurationName(session); + } + + private NanoHTTPD.Response getConfigurationName(NanoHTTPD.IHTTPSession session) throws IOException { + String configName = HardwareUtil.getConfigurationName(); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", configName)); + } + } + + private static class FetchOfflineBlocksEditor implements WebHandler { + private FetchOfflineBlocksEditor() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchOfflineBlocksEditor(session); + } + + private NanoHTTPD.Response fetchOfflineBlocksEditor(NanoHTTPD.IHTTPSession session) throws IOException { + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newChunkedResponse(NanoHTTPD.Response.Status.OK, "application/zip", OfflineBlocksUtil.fetchOfflineBlocksEditor())); + } + } + + private static class FetchBlocksArchive implements WebHandler { + private FetchBlocksArchive() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchBlocksArchive(session); + } + + private NanoHTTPD.Response fetchBlocksArchive(NanoHTTPD.IHTTPSession session) throws IOException { + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newChunkedResponse(NanoHTTPD.Response.Status.OK, "application/zip", BlocksArchive.fetchBlocksArchive())); + } + } + + private static class FetchBlockFile implements WebHandler { + private FetchBlockFile() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + if (name != null) { + return fetchBlkFileContent(session, name); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name parameter is required"); + } + + private NanoHTTPD.Response fetchBlkFileContent(NanoHTTPD.IHTTPSession session, String projectName) throws IOException { + String blkFileContent = ProjectsUtil.fetchBlkFileContent(projectName); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", blkFileContent)); + } + } + + private static class NewProject implements WebHandler { + private NewProject() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + if (name != null) { + String sampleName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_SAMPLE_NAME); + return newProject(session, name, sampleName); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name parameter is required"); + } + + private NanoHTTPD.Response newProject(NanoHTTPD.IHTTPSession session, String projectName, String sampleName) throws IOException { + String blkContent = ProjectsUtil.newProject(projectName, sampleName); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", blkContent)); + } + } + + private static class SaveProject implements WebHandler { + private SaveProject() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String blk = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_BLK); + String js = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_JS); + if (name != null && blk != null && js != null) { + return saveProject(name, blk, js); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name, blk, and js parameters are required"); + } + + private NanoHTTPD.Response saveProject(String projectName, String blkFileContent, String jsFileContent) throws Throwable { + ProjectsUtil.saveProject(projectName, blkFileContent, jsFileContent); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } + } + + private static class RenameProject implements WebHandler { + private RenameProject() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String oldName = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String newName = ProgrammingWebHandlers.getFirstNamedParameter(session, "new_name"); + if (oldName != null && newName != null) { + return renameProject(oldName, newName); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name and new_name parameters are required"); + } + + private NanoHTTPD.Response renameProject(String oldProjectName, String newProjectName) throws Throwable { + ProjectsUtil.renameProject(oldProjectName, newProjectName); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } + } + + private static class CopyProject implements WebHandler { + private CopyProject() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String oldName = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String newName = ProgrammingWebHandlers.getFirstNamedParameter(session, "new_name"); + if (oldName != null && newName != null) { + return copyProject(oldName, newName); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name and new_name parameters are required"); + } + + private NanoHTTPD.Response copyProject(String oldProjectName, String newProjectName) throws Throwable { + try { + ProjectsUtil.copyProject(oldProjectName, newProjectName); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } catch (IOExceptionWithUserVisibleMessage e) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", e.getMessage()); + } + } + } + + private static class EnableProject implements WebHandler { + private EnableProject() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String enable = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_ENABLE); + if (name != null && enable != null) { + return enableProject(name, Boolean.parseBoolean(enable)); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name and new_name parameters are required"); + } + + private NanoHTTPD.Response enableProject(String projectName, boolean enable) throws Throwable { + ProjectsUtil.enableProject(projectName, enable); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } + } + + private static class DeleteProjects implements WebHandler { + private DeleteProjects() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String names = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + if (names != null) { + return deleteProjects(names); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name parameter is required"); + } + + private NanoHTTPD.Response deleteProjects(String starDelimitedProjectNames) throws IOException { + String[] projectNames = starDelimitedProjectNames.split("\\*"); + ProjectsUtil.deleteProjects(projectNames); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } + } + + private static class GetBlocksJavaClassName implements WebHandler { + private GetBlocksJavaClassName() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + if (name != null) { + return getBlocksJavaClassName(session, name); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name parameter is required"); + } + + private NanoHTTPD.Response getBlocksJavaClassName(NanoHTTPD.IHTTPSession session, String projectName) throws IOException { + String className = ProjectsUtil.getBlocksJavaClassName(projectName); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", className)); + } + } + + private static class SaveBlocksJava implements WebHandler { + private SaveBlocksJava() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String relativeFileName = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String javaContent = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_JAVA); + if (relativeFileName != null && javaContent != null) { + return saveBlocksJava(relativeFileName, javaContent); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name and java parameters are required"); + } + + private NanoHTTPD.Response saveBlocksJava(String relativeFileName, String javaContent) throws Throwable { + ProjectsUtil.saveBlocksJava(relativeFileName, javaContent); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } + } + + private static class SaveClipboard implements WebHandler { + private SaveClipboard() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String clipboardContent = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_CLIPBOARD); + if (clipboardContent != null) { + return saveClipboardContent(clipboardContent); + } + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: cb parameter is required"); + } + + private NanoHTTPD.Response saveClipboardContent(String clipboardContent) throws IOException { + ClipboardUtil.saveClipboardContent(clipboardContent); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } + } + + private static class FetchClipboard implements WebHandler { + private FetchClipboard() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + return fetchClipboardContent(); + } + + private NanoHTTPD.Response fetchClipboardContent() throws IOException { + String clipboardContent = ClipboardUtil.fetchClipboardContent(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", clipboardContent); + } + } + + private static class FileManagerJS implements WebHandler { + private FileManagerJS() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + if (fmName == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname parameter is required"); + } + try { + String js = FileManager.valueOf(fmName).fetchJavaScript(); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, MimeTypesUtil.MIME_JAVASCRIPT, js)); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class ListFiles implements WebHandler { + private ListFiles() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + if (fmName == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname parameter is required"); + } + try { + String json = FileManager.valueOf(fmName).fetchFiles(); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", json)); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class SaveFile implements WebHandler { + private SaveFile() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String base64Content = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_CONTENT); + if (fmName == null || name == null || base64Content == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname, name, and content parameters are required"); + } + try { + FileManager.valueOf(fmName).saveFile(name, base64Content); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class FetchFile implements WebHandler { + private FetchFile() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + if (fmName == null || name == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname and name parameters are required"); + } + try { + String base64Content = FileManager.valueOf(fmName).fetchFileContent(name); + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", base64Content)); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class FetchFileType implements WebHandler { + private FetchFileType() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String name = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + if (name == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: name parameter is required"); + } + String mimeType = MimeTypesUtil.determineMimeType(name); + if (mimeType == null) { + mimeType = ""; + } + return NoCachingWebHandler.setNoCache(session, NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", mimeType)); + } + } + + private static class RenameFile implements WebHandler { + private RenameFile() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + String oldName = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String newName = ProgrammingWebHandlers.getFirstNamedParameter(session, "new_name"); + if (fmName == null || oldName == null || newName == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname, name, and new_name parameters are required"); + } + try { + FileManager.valueOf(fmName).renameFile(oldName, newName); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class CopyFile implements WebHandler { + private CopyFile() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + String oldName = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + String newName = ProgrammingWebHandlers.getFirstNamedParameter(session, "new_name"); + if (fmName == null || oldName == null || newName == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname, name, and new_name parameters are required"); + } + try { + FileManager.valueOf(fmName).copyFile(oldName, newName); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class DeleteFiles implements WebHandler { + private DeleteFiles() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + String fmName = ProgrammingWebHandlers.getFirstNamedParameter(session, ProgrammingWebHandlers.PARAM_FM_NAME); + String starDelimitedNames = ProgrammingWebHandlers.getFirstNamedParameter(session, "name"); + if (fmName == null || starDelimitedNames == null) { + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.BAD_REQUEST, "text/plain", "Bad Request: fmname and name parameters are required"); + } + try { + String[] names = starDelimitedNames.split("\\*"); + FileManager.valueOf(fmName).deleteFiles(names); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "text/plain", ""); + } catch (Exception e) { + e.printStackTrace(); + return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Error"); + } + } + } + + private static class RestartRobot implements WebHandler { + private RestartRobot() { + } + + @Override // org.firstinspires.ftc.robotcore.internal.webserver.WebHandler + public NanoHTTPD.Response getResponse(NanoHTTPD.IHTTPSession session) throws NanoHTTPD.ResponseException, IOException { + NetworkConnectionHandler connectionHandler = NetworkConnectionHandler.getInstance(); + connectionHandler.injectReceivedCommand(new Command(CommandList.CMD_RESTART_ROBOT)); + return RobotWebHandlerManager.OK_RESPONSE; + } + } + + private WebHandler decorateWithLogging(WebHandler handler) { + return this.programmingModeManager.decorate(false, handler); + } + + @Override // org.firstinspires.ftc.robotserver.internal.programmingmode.ProgrammingMode + public void register(ProgrammingModeManager manager) { + this.programmingModeManager = manager; + manager.register(URI_NAV_BLOCKS_OLD, new RobotControllerWebHandlers.Redirection(OnBotJavaFileSystemUtils.PATH_SEPARATOR)); + manager.register(URI_SERVER, decorateWithLogging(new Server())); + manager.register(URI_HARDWARE, decorateWithLogging(new Hardware())); + manager.register(URI_FILE_MANAGER_JS, decorateWithLogging(decorateWithParms(new FileManagerJS()))); + manager.register(URI_GET_CONFIGURATION_NAME, decorateWithLogging(decorateWithParms(new GetConfigurationName()))); + manager.register(URI_FETCH_OFFLINE_BLOCKS_EDITOR, decorateWithLogging(new FetchOfflineBlocksEditor())); + manager.register(URI_FETCH_BLOCKS_ARCHIVE, decorateWithLogging(new FetchBlocksArchive())); + manager.register(URI_LIST_PROJECTS, decorateWithLogging(new ListProjects())); + manager.register(URI_LIST_SAMPLES, decorateWithLogging(new ListSamples())); + manager.register(URI_FETCH_BLK, decorateWithLogging(decorateWithParms(new FetchBlockFile()))); + manager.register(URI_NEW_PROJECT, decorateWithLogging(decorateWithParms(new NewProject()))); + manager.register(URI_SAVE_PROJECT, decorateWithLogging(decorateWithParms(new SaveProject()))); + manager.register(URI_RENAME_PROJECT, decorateWithLogging(decorateWithParms(new RenameProject()))); + manager.register(URI_COPY_PROJECT, decorateWithLogging(decorateWithParms(new CopyProject()))); + manager.register(URI_ENABLE_PROJECT, decorateWithLogging(decorateWithParms(new EnableProject()))); + manager.register(URI_DELETE_PROJECTS, decorateWithLogging(decorateWithParms(new DeleteProjects()))); + manager.register(URI_GET_BLOCKS_JAVA_CLASS_NAME, decorateWithLogging(decorateWithParms(new GetBlocksJavaClassName()))); + manager.register(URI_SAVE_BLOCKS_JAVA, decorateWithLogging(decorateWithParms(new SaveBlocksJava()))); + manager.register(URI_SAVE_CLIPBOARD, decorateWithLogging(decorateWithParms(new SaveClipboard()))); + manager.register(URI_FETCH_CLIPBOARD, decorateWithLogging(new FetchClipboard())); + manager.register(URI_LIST_FILES, decorateWithLogging(decorateWithParms(new ListFiles()))); + manager.register(URI_SAVE_FILE, decorateWithLogging(decorateWithParms(new SaveFile()))); + manager.register(URI_FETCH_FILE, decorateWithLogging(decorateWithParms(new FetchFile()))); + manager.register(URI_FETCH_FILE_TYPE, decorateWithLogging(decorateWithParms(new FetchFileType()))); + manager.register(URI_RENAME_FILE, decorateWithLogging(decorateWithParms(new RenameFile()))); + manager.register(URI_COPY_FILE, decorateWithLogging(decorateWithParms(new CopyFile()))); + manager.register(URI_DELETE_FILES, decorateWithLogging(decorateWithParms(new DeleteFiles()))); + manager.register(URI_RESTART_ROBOT, decorateWithLogging(new RestartRobot())); + manager.register("/css/colors.less", decorateWithLogging(manager.getRegisteredHandler("/css/colors.less"))); + manager.register(RobotControllerWebHandlers.URI_RC_CONFIG, new RobotControllerConfiguration()); + } + + static String getFirstNamedParameter(NanoHTTPD.IHTTPSession session, String name) { + Map> parameters = session.getParameters(); + if (parameters.containsKey(name)) { + return parameters.get(name).get(0); + } + return null; + } + + private WebHandler decorateWithParms(WebHandler delegate) { + return new SessionParametersGenerator(delegate); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItem.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItem.java new file mode 100644 index 000000000000..5827417bf6ac --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItem.java @@ -0,0 +1,49 @@ +package com.google.blocks.ftcrobotcontroller.hardware; + +/* JADX INFO: loaded from: classes8.dex */ +public class HardwareItem { + public final String deviceName; + public final HardwareType hardwareType; + public final String identifier; + public final String visibleName; + + public HardwareItem(HardwareType hardwareType, String deviceName) { + if (hardwareType == null || deviceName == null) { + throw new NullPointerException(); + } + this.hardwareType = hardwareType; + this.deviceName = deviceName; + this.identifier = hardwareType.makeIdentifier(deviceName); + this.visibleName = HardwareUtil.makeVisibleNameForDropdownItem(deviceName); + } + + static String makeIdentifier(String deviceName) { + int length = deviceName.length(); + StringBuilder identifier = new StringBuilder(); + char ch = deviceName.charAt(0); + if (Character.isJavaIdentifierStart(ch)) { + identifier.append(ch); + } else if (Character.isJavaIdentifierPart(ch)) { + identifier.append('_').append(ch); + } + for (int i = 1; i < length; i++) { + char ch2 = deviceName.charAt(i); + if (Character.isJavaIdentifierPart(ch2)) { + identifier.append(ch2); + } + } + return identifier.toString(); + } + + public boolean equals(Object o) { + if (!(o instanceof HardwareItem)) { + return false; + } + HardwareItem that = (HardwareItem) o; + return this.hardwareType.equals(that.hardwareType) && this.deviceName.equals(that.deviceName) && this.identifier.equals(that.identifier) && this.visibleName.equals(that.visibleName); + } + + public int hashCode() { + return this.hardwareType.hashCode() + this.deviceName.hashCode() + this.identifier.hashCode() + this.visibleName.hashCode(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItemMap.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItemMap.java new file mode 100644 index 000000000000..cd6ddc4758fd --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareItemMap.java @@ -0,0 +1,197 @@ +package com.google.blocks.ftcrobotcontroller.hardware; + +import com.qualcomm.ftccommon.configuration.RobotConfigFile; +import com.qualcomm.ftccommon.configuration.RobotConfigFileManager; +import com.qualcomm.hardware.andymark.AndyMarkColorSensor; +import com.qualcomm.robotcore.eventloop.opmode.OpModeManagerImpl; +import com.qualcomm.robotcore.exception.RobotCoreException; +import com.qualcomm.robotcore.hardware.HardwareDevice; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.configuration.ControllerConfiguration; +import com.qualcomm.robotcore.hardware.configuration.DeviceConfiguration; +import com.qualcomm.robotcore.hardware.configuration.LynxModuleConfiguration; +import com.qualcomm.robotcore.hardware.configuration.ReadXMLFileHandler; +import com.qualcomm.robotcore.hardware.configuration.ServoHubConfiguration; +import com.qualcomm.robotcore.util.RobotLog; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; +import org.xmlpull.v1.XmlPullParser; + +/* JADX INFO: loaded from: classes8.dex */ +public class HardwareItemMap { + private final SortedMap> map = new TreeMap(); + private final Set devices = new HashSet(); + + public static HardwareItemMap newHardwareItemMap() { + HardwareMap hardwareMap; + OpModeManagerImpl opModeManagerImpl = OpModeManagerImpl.getOpModeManagerOfActivity(AppUtil.getInstance().getRootActivity()); + if (opModeManagerImpl != null && (hardwareMap = opModeManagerImpl.getHardwareMap()) != null) { + return newHardwareItemMap(hardwareMap); + } + try { + RobotConfigFileManager robotConfigFileManager = new RobotConfigFileManager(); + RobotConfigFile activeConfig = robotConfigFileManager.getActiveConfig(); + XmlPullParser pullParser = activeConfig.getXml(); + return new HardwareItemMap(pullParser); + } catch (Exception e) { + RobotLog.logStackTrace(e); + return new HardwareItemMap(); + } + } + + public static HardwareItemMap newHardwareItemMap(HardwareMap hardwareMap) { + return new HardwareItemMap(hardwareMap); + } + + HardwareItemMap() { + } + + private HardwareItemMap(XmlPullParser pullParser) { + try { + ReadXMLFileHandler readXMLFileHandler = new ReadXMLFileHandler(); + for (ControllerConfiguration controllerConfiguration : readXMLFileHandler.parse(pullParser)) { + addDevice(controllerConfiguration); + } + } catch (RobotCoreException e) { + RobotLog.logStackTrace(e); + } + } + + private HardwareItemMap(HardwareMap hardwareMap) { + for (HardwareType hardwareType : HardwareType.values()) { + SortedSet deviceNames = hardwareMap.getAllNames(hardwareType.deviceType); + for (String deviceName : deviceNames) { + HardwareDevice device = hardwareMap.get(deviceName); + if (!(device instanceof AndyMarkColorSensor) || hardwareType != HardwareType.COLOR_RANGE_SENSOR) { + addHardwareItem(hardwareType, deviceName); + } + } + } + } + + private void addController(ControllerConfiguration controllerConfiguration) { + for (ITEM_T deviceConfiguration : controllerConfiguration.getDevices()) { + addDevice(deviceConfiguration); + } + if (controllerConfiguration instanceof LynxModuleConfiguration) { + LynxModuleConfiguration lynxModuleConfiguration = (LynxModuleConfiguration) controllerConfiguration; + for (DeviceConfiguration deviceConfiguration2 : lynxModuleConfiguration.getServos()) { + addDevice(deviceConfiguration2); + } + for (DeviceConfiguration deviceConfiguration3 : lynxModuleConfiguration.getMotors()) { + addDevice(deviceConfiguration3); + } + for (DeviceConfiguration deviceConfiguration4 : lynxModuleConfiguration.getAnalogInputs()) { + addDevice(deviceConfiguration4); + } + for (DeviceConfiguration deviceConfiguration5 : lynxModuleConfiguration.getPwmOutputs()) { + addDevice(deviceConfiguration5); + } + for (DeviceConfiguration deviceConfiguration6 : lynxModuleConfiguration.getI2cDevices()) { + addDevice(deviceConfiguration6); + } + for (DeviceConfiguration deviceConfiguration7 : lynxModuleConfiguration.getDigitalDevices()) { + addDevice(deviceConfiguration7); + } + return; + } + if (controllerConfiguration instanceof ServoHubConfiguration) { + ServoHubConfiguration servoHubConfiguration = (ServoHubConfiguration) controllerConfiguration; + for (DeviceConfiguration deviceConfiguration8 : servoHubConfiguration.getServos()) { + addDevice(deviceConfiguration8); + } + } + } + + private void addDevice(DeviceConfiguration deviceConfiguration) { + if (this.devices.add(deviceConfiguration) && deviceConfiguration.isEnabled()) { + for (HardwareType hardwareType : HardwareUtil.getHardwareTypes(deviceConfiguration)) { + addHardwareItem(hardwareType, deviceConfiguration.getName()); + } + if (deviceConfiguration instanceof ControllerConfiguration) { + addController((ControllerConfiguration) deviceConfiguration); + } + } + } + + private void addHardwareItem(HardwareType hardwareType, String deviceName) { + if (deviceName.isEmpty()) { + RobotLog.w("Blocks cannot support a hardware device (" + hardwareType.deviceType.getSimpleName() + ") whose name is empty."); + return; + } + List hardwareItemList = this.map.get(hardwareType); + if (hardwareItemList == null) { + hardwareItemList = new ArrayList(); + this.map.put(hardwareType, hardwareItemList); + } + for (HardwareItem item : hardwareItemList) { + if (item.deviceName.equals(deviceName)) { + return; + } + } + HardwareItem hardwareItem = new HardwareItem(hardwareType, deviceName); + hardwareItemList.add(hardwareItem); + } + + public int getHardwareTypeCount() { + return this.map.size(); + } + + public boolean contains(HardwareType hardwareType) { + return this.map.containsKey(hardwareType); + } + + public List getHardwareItems(HardwareType hardwareType) { + List list = new ArrayList<>(); + if (this.map.containsKey(hardwareType)) { + for (HardwareItem hardwareItem : this.map.get(hardwareType)) { + list.add(hardwareItem); + } + } + Collections.sort(list, new Comparator() { // from class: com.google.blocks.ftcrobotcontroller.hardware.HardwareItemMap.1 + @Override // java.util.Comparator + public int compare(HardwareItem a, HardwareItem b) { + return a.deviceName.compareTo(b.deviceName); + } + }); + return Collections.unmodifiableList(list); + } + + public Iterable getAllHardwareItems() { + List list = new ArrayList<>(); + for (List hardwareItems : this.map.values()) { + list.addAll(hardwareItems); + } + Collections.sort(list, new Comparator() { // from class: com.google.blocks.ftcrobotcontroller.hardware.HardwareItemMap.2 + @Override // java.util.Comparator + public int compare(HardwareItem a, HardwareItem b) { + return a.identifier.compareTo(b.identifier); + } + }); + return Collections.unmodifiableList(list); + } + + public Set getHardwareTypes() { + return Collections.unmodifiableSet(this.map.keySet()); + } + + public boolean equals(Object o) { + if (o instanceof HardwareItemMap) { + HardwareItemMap that = (HardwareItemMap) o; + return this.map.equals(that.map); + } + return false; + } + + public int hashCode() { + return this.map.hashCode(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareType.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareType.java new file mode 100644 index 000000000000..5bb59fdc1cb0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareType.java @@ -0,0 +1,183 @@ +package com.google.blocks.ftcrobotcontroller.hardware; + +import com.google.blocks.ftcrobotcontroller.util.ToolboxFolder; +import com.google.blocks.ftcrobotcontroller.util.ToolboxIcon; +import com.qualcomm.hardware.adafruit.AdafruitBNO055IMU; +import com.qualcomm.hardware.andymark.AndyMarkColorSensor; +import com.qualcomm.hardware.andymark.AndyMarkTOF; +import com.qualcomm.hardware.bosch.BNO055IMUImpl; +import com.qualcomm.hardware.dfrobot.HuskyLens; +import com.qualcomm.hardware.digitalchickenlabs.OctoQuad; +import com.qualcomm.hardware.digitalchickenlabs.OctoQuadImpl; +import com.qualcomm.hardware.gobilda.GoBildaPinpointDriver; +import com.qualcomm.hardware.limelightvision.Limelight3A; +import com.qualcomm.hardware.lynx.LynxEmbeddedIMU; +import com.qualcomm.hardware.lynx.LynxModule; +import com.qualcomm.hardware.maxbotix.MaxSonarI2CXL; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsAnalogOpticalDistanceSensor; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cCompassSensor; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cRangeSensor; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsTouchSensor; +import com.qualcomm.hardware.rev.Rev2mDistanceSensor; +import com.qualcomm.hardware.rev.RevBlinkinLedDriver; +import com.qualcomm.hardware.rev.RevColorSensorV3; +import com.qualcomm.hardware.rev.RevTouchSensor; +import com.qualcomm.hardware.sparkfun.SparkFunLEDStick; +import com.qualcomm.hardware.sparkfun.SparkFunOTOS; +import com.qualcomm.robotcore.hardware.AccelerationSensor; +import com.qualcomm.robotcore.hardware.AnalogInput; +import com.qualcomm.robotcore.hardware.CRServo; +import com.qualcomm.robotcore.hardware.ColorRangeSensor; +import com.qualcomm.robotcore.hardware.ColorSensor; +import com.qualcomm.robotcore.hardware.CompassSensor; +import com.qualcomm.robotcore.hardware.DcMotor; +import com.qualcomm.robotcore.hardware.DigitalChannel; +import com.qualcomm.robotcore.hardware.DigitalChannelImpl; +import com.qualcomm.robotcore.hardware.DistanceSensor; +import com.qualcomm.robotcore.hardware.GyroSensor; +import com.qualcomm.robotcore.hardware.HardwareDevice; +import com.qualcomm.robotcore.hardware.IMU; +import com.qualcomm.robotcore.hardware.IrSeekerSensor; +import com.qualcomm.robotcore.hardware.LED; +import com.qualcomm.robotcore.hardware.LightSensor; +import com.qualcomm.robotcore.hardware.OpticalDistanceSensor; +import com.qualcomm.robotcore.hardware.Servo; +import com.qualcomm.robotcore.hardware.ServoController; +import com.qualcomm.robotcore.hardware.TouchSensor; +import com.qualcomm.robotcore.hardware.UltrasonicSensor; +import com.qualcomm.robotcore.hardware.VoltageSensor; +import com.qualcomm.robotcore.hardware.configuration.BuiltInConfigurationType; +import com.qualcomm.robotcore.hardware.configuration.ConfigurationType; +import com.qualcomm.robotcore.hardware.configuration.ConfigurationTypeManager; +import com.qualcomm.robotcore.hardware.configuration.LynxConstants; +import com.qualcomm.robotcore.hardware.configuration.ServoFlavor; +import com.qualcomm.robotcore.hardware.configuration.typecontainers.ServoConfigurationType; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; +import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName; + +/* JADX INFO: loaded from: classes8.dex */ +public enum HardwareType { + ACCELERATION_SENSOR("createAccelerationSensorDropdown", "accelerationSensor", "AsAccelerationSensor", "_AccelerationSensor", ToolboxFolder.SENSORS, "AccelerationSensor", ToolboxIcon.ACCELERATION_SENSOR, AccelerationSensor.class, BuiltInConfigurationType.ACCELEROMETER.getXmlTag()), + ANALOG_INPUT("createAnalogInputDropdown", "analogInput", "AsAnalogInput", "_AnalogInput", ToolboxFolder.OTHER, "AnalogInput", ToolboxIcon.ANALOG_INPUT, AnalogInput.class, ConfigurationTypeManager.getXmlTag(AnalogInput.class)), + ANDY_MARK_COLOR_SENSOR("createAndyMarkColorSensorDropdown", "andyMarkColorSensor", "AsAndyMarkColorSensor", "_AndyMarkColorSensor", ToolboxFolder.SENSORS, "AndyMarkColorSensor", ToolboxIcon.COLOR_SENSOR, AndyMarkColorSensor.class, ConfigurationTypeManager.getXmlTag(AndyMarkColorSensor.class)), + BNO055IMU("createBNO055IMUDropdown", "bno055imu", "AsBNO055IMU", "_IMU_BNO055", ToolboxFolder.SENSORS, "IMU-BNO055 (legacy)", null, BNO055IMUImpl.class, ConfigurationTypeManager.getXmlTag(AdafruitBNO055IMU.class), ConfigurationTypeManager.getXmlTag(LynxEmbeddedIMU.class)), + COLOR_RANGE_SENSOR("createColorRangeSensorDropdown", "lynxI2cColorRangeSensor", "AsREVColorRangeSensor", "_REV_ColorRangeSensor", ToolboxFolder.SENSORS, "REV Color/Range Sensor", ToolboxIcon.COLOR_SENSOR, ColorRangeSensor.class, BuiltInConfigurationType.LYNX_COLOR_SENSOR.getXmlTag(), ConfigurationTypeManager.getXmlTag(RevColorSensorV3.class)), + COLOR_SENSOR("createColorSensorDropdown", "colorSensor", "AsColorSensor", "_ColorSensor", ToolboxFolder.SENSORS, "ColorSensor", ToolboxIcon.COLOR_SENSOR, ColorSensor.class, BuiltInConfigurationType.COLOR_SENSOR.getXmlTag(), BuiltInConfigurationType.ADAFRUIT_COLOR_SENSOR.getXmlTag(), BuiltInConfigurationType.LYNX_COLOR_SENSOR.getXmlTag(), ConfigurationTypeManager.getXmlTag(RevColorSensorV3.class)), + COMPASS_SENSOR("createCompassSensorDropdown", "compassSensor", "AsCompassSensor", "_CompassSensor", ToolboxFolder.SENSORS, "CompassSensor", ToolboxIcon.COMPASS_SENSOR, CompassSensor.class, BuiltInConfigurationType.COMPASS.getXmlTag()), + CR_SERVO("createCRServoDropdown", "crServo", "AsCRServo", "_CRServo", ToolboxFolder.ACTUATORS, "CRServo", ToolboxIcon.CR_SERVO, CRServo.class, getContinuousServoXmlTags()), + DC_MOTOR("createDcMotorDropdown", "dcMotor", "AsDcMotor", "_DcMotor", ToolboxFolder.ACTUATORS, "DcMotor", ToolboxIcon.DC_MOTOR, DcMotor.class, getMotorXmlTags()), + DIGITAL_CHANNEL("createDigitalChannelDropdown", "digitalChannel", "AsDigitalChannel", "_DigitalChannel", ToolboxFolder.OTHER, "DigitalChannel", ToolboxIcon.DIGITAL_CHANNEL, DigitalChannel.class, ConfigurationTypeManager.getXmlTag(DigitalChannelImpl.class)), + DISTANCE_SENSOR("createDistanceSensorDropdown", "distanceSensor", "AsDistanceSensor", "_DistanceSensor", ToolboxFolder.SENSORS, "DistanceSensor", ToolboxIcon.ULTRASONIC_SENSOR, DistanceSensor.class, BuiltInConfigurationType.LYNX_COLOR_SENSOR.getXmlTag(), ConfigurationTypeManager.getXmlTag(AndyMarkTOF.class), ConfigurationTypeManager.getXmlTag(Rev2mDistanceSensor.class), ConfigurationTypeManager.getXmlTag(RevColorSensorV3.class)), + GOBILDA_PINPOINT("createGoBildaPinpointDropdown", "goBildaPinpoint", "AsGoBildaPinpoint", "_GoBildaPinpoint", ToolboxFolder.SENSORS, "GoBildaPinpoint", null, GoBildaPinpointDriver.class, ConfigurationTypeManager.getXmlTag(GoBildaPinpointDriver.class)), + GYRO_SENSOR("createGyroSensorDropdown", "gyroSensor", "AsGyroSensor", "_GyroSensor", ToolboxFolder.SENSORS, "GyroSensor", ToolboxIcon.GYRO_SENSOR, GyroSensor.class, BuiltInConfigurationType.GYRO.getXmlTag()), + HUSKY_LENS("createHuskyLensDropdown", "huskyLens", "AsHuskyLens", "_HuskyLens", ToolboxFolder.SENSORS, "HuskyLens", null, HuskyLens.class, ConfigurationTypeManager.getXmlTag(HuskyLens.class)), + IMU("createImuDropdown", "imu", "AsIMU", "_IMU", ToolboxFolder.SENSORS, "IMU", null, IMU.class, LynxConstants.EMBEDDED_BNO055_IMU_XML_TAG, LynxConstants.EMBEDDED_BHI260AP_IMU_XML_TAG, ConfigurationTypeManager.getXmlTag(AdafruitBNO055IMU.class)), + IR_SEEKER_SENSOR("createIrSeekerSensorDropdown", "irSeekerSensor", "AsIrSeekerSensor", "_IrSeekerSensor", ToolboxFolder.SENSORS, "IrSeekerSensor", ToolboxIcon.IR_SEEKER_SENSOR, IrSeekerSensor.class, BuiltInConfigurationType.IR_SEEKER.getXmlTag(), BuiltInConfigurationType.IR_SEEKER_V3.getXmlTag()), + LED("createLedDropdown", "led", "AsLED", "_LED", ToolboxFolder.OTHER, "LED", ToolboxIcon.LED, LED.class, ConfigurationTypeManager.getXmlTag(LED.class)), + LIGHT_SENSOR("createLightSensorDropdown", "lightSensor", "AsLightSensor", "_LightSensor", ToolboxFolder.SENSORS, "LightSensor", ToolboxIcon.LIGHT_SENSOR, LightSensor.class, BuiltInConfigurationType.LIGHT_SENSOR.getXmlTag()), + LIMELIGHT_3A("createLimelight3ADropdown", "limelight3A", "AsLimelight3A", "_Limelight3A", ToolboxFolder.SENSORS, "Limelight3A", null, Limelight3A.class, BuiltInConfigurationType.ETHERNET_OVER_USB_DEVICE.getXmlTag()), + LYNX_MODULE(null, null, "AsREVModule", "_REV_Module", null, null, null, LynxModule.class, BuiltInConfigurationType.LYNX_MODULE.getXmlTag()), + MAX_SONAR_I2CXL("createMaxSonarI2CXLDropdown", "maxSonarI2CXL", "AsMaxSonarI2CXL", "_MaxSonarI2CXL", ToolboxFolder.SENSORS, "MaxSonarI2CXL", null, MaxSonarI2CXL.class, ConfigurationTypeManager.getXmlTag(MaxSonarI2CXL.class)), + MR_I2C_COMPASS_SENSOR("createMrI2cCompassSensorDropdown", "mrI2cCompassSensor", "AsMrI2cCompassSensor", "_MR_I2cCompassSensor", ToolboxFolder.SENSORS, "MrI2cCompassSensor", ToolboxIcon.COMPASS_SENSOR, ModernRoboticsI2cCompassSensor.class, ConfigurationTypeManager.getXmlTag(ModernRoboticsI2cCompassSensor.class)), + MR_I2C_RANGE_SENSOR("createMrI2cRangeSensorDropdown", "mrI2cRangeSensor", "AsMrI2cRangeSensor", "_MR_I2cRangeSensor", ToolboxFolder.SENSORS, "MrI2cRangeSensor", ToolboxIcon.OPTICAL_DISTANCE_SENSOR, ModernRoboticsI2cRangeSensor.class, ConfigurationTypeManager.getXmlTag(ModernRoboticsI2cRangeSensor.class)), + OCTOQUAD("createOctoQuadDropdown", "octoquad", "AsOctoQuad", "_OctoQuad", ToolboxFolder.SENSORS, "OctoQuad", ToolboxIcon.OCTOQUAD, OctoQuad.class, ConfigurationTypeManager.getXmlTag(OctoQuadImpl.class)), + OPTICAL_DISTANCE_SENSOR("createOpticalDistanceSensorDropdown", "opticalDistanceSensor", "AsOpticalDistanceSensor", "_OpticalDistanceSensor", ToolboxFolder.SENSORS, "OpticalDistanceSensor", ToolboxIcon.OPTICAL_DISTANCE_SENSOR, OpticalDistanceSensor.class, ConfigurationTypeManager.getXmlTag(ModernRoboticsAnalogOpticalDistanceSensor.class), BuiltInConfigurationType.LYNX_COLOR_SENSOR.getXmlTag(), ConfigurationTypeManager.getXmlTag(RevColorSensorV3.class)), + REV_BLINKIN_LED_DRIVER("createRevBlinkinLedDriverDropdown", "revBlinkinLedDriver", "AsRevBlinkinLedDriver", "_RevBlinkinLedDriver", ToolboxFolder.OTHER, "RevBlinkinLedDriver", ToolboxIcon.LED, RevBlinkinLedDriver.class, ConfigurationTypeManager.getXmlTag(RevBlinkinLedDriver.class)), + SERVO("createServoDropdown", "servo", "AsServo", "_Servo", ToolboxFolder.ACTUATORS, "Servo", ToolboxIcon.SERVO, Servo.class, getStandardServoXmlTags()), + SERVO_CONTROLLER("createServoControllerDropdown", "servoController", "AsServoController", "_ServoController", ToolboxFolder.ACTUATORS, "ServoController", ToolboxIcon.SERVO_CONTROLLER, ServoController.class, BuiltInConfigurationType.LYNX_MODULE.getXmlTag()), + SPARKFUN_LED_STICK("createSparkFunLEDStickDropdown", "sparkFunLEDStick", "AsSparkFunLEDStick", "_SparkFunLEDStick", ToolboxFolder.OTHER, "SparkFunLEDStick", null, SparkFunLEDStick.class, ConfigurationTypeManager.getXmlTag(SparkFunLEDStick.class)), + SPARKFUN_OTOS("createSparkFunOTOSDropdown", "sparkFunOTOS", "AsSparkFunOTOS", "_SparkFunOTOS", ToolboxFolder.SENSORS, "SparkFunOTOS", null, SparkFunOTOS.class, ConfigurationTypeManager.getXmlTag(SparkFunOTOS.class)), + TOUCH_SENSOR("createTouchSensorDropdown", "touchSensor", "AsTouchSensor", "_TouchSensor", ToolboxFolder.SENSORS, "TouchSensor", ToolboxIcon.TOUCH_SENSOR, TouchSensor.class, ConfigurationTypeManager.getXmlTag(ModernRoboticsTouchSensor.class), ConfigurationTypeManager.getXmlTag(RevTouchSensor.class)), + ULTRASONIC_SENSOR("createUltrasonicSensorDropdown", "ultrasonicSensor", "AsUltrasonicSensor", "_UltrasonicSensor", ToolboxFolder.SENSORS, "UltrasonicSensor", ToolboxIcon.ULTRASONIC_SENSOR, UltrasonicSensor.class, BuiltInConfigurationType.ULTRASONIC_SENSOR.getXmlTag()), + VOLTAGE_SENSOR("createVoltageSensorDropdown", "voltageSensor", "AsVoltageSensor", "_VoltageSensor", ToolboxFolder.SENSORS, "VoltageSensor", ToolboxIcon.VOLTAGE_SENSOR, VoltageSensor.class, BuiltInConfigurationType.LYNX_MODULE.getXmlTag()), + WEBCAM_NAME(null, null, "AsWebcamName", "_WebcamName", null, null, null, WebcamName.class, BuiltInConfigurationType.WEBCAM.getXmlTag()); + + static final Comparator BY_TOOLBOX_CATEGORY_NAME = new Comparator() { // from class: com.google.blocks.ftcrobotcontroller.hardware.HardwareType.1 + @Override // java.util.Comparator + public int compare(HardwareType h1, HardwareType h2) { + String s1 = h1.toolboxCategoryName == null ? "" : h1.toolboxCategoryName; + String s2 = h2.toolboxCategoryName != null ? h2.toolboxCategoryName : ""; + return s1.compareToIgnoreCase(s2); + } + }; + public final String blockTypePrefix; + public final String createDropdownFunctionName; + public final Class deviceType; + public final String identifierSuffixForFtcJava; + public final String identifierSuffixForJavaScript; + public final String toolboxCategoryName; + public final ToolboxFolder toolboxFolder; + public final ToolboxIcon toolboxIcon; + public final String[] xmlTags; + + private static String[] getMotorXmlTags() { + List tags = new LinkedList<>(); + for (ConfigurationType type : ConfigurationTypeManager.getInstance().getApplicableConfigTypes(ConfigurationType.DeviceFlavor.MOTOR, null, false)) { + if (type != BuiltInConfigurationType.NOTHING) { + tags.add(type.getXmlTag()); + } + } + tags.add(ConfigurationTypeManager.LEGACY_HD_HEX_MOTOR_TAG); + String[] result = new String[tags.size()]; + return (String[]) tags.toArray(result); + } + + private static String[] getStandardServoXmlTags() { + List tags = new LinkedList<>(); + for (ConfigurationType type : ConfigurationTypeManager.getInstance().getApplicableConfigTypes(ConfigurationType.DeviceFlavor.SERVO, null, false)) { + if (type != BuiltInConfigurationType.NOTHING && ((ServoConfigurationType) type).getServoFlavor() == ServoFlavor.STANDARD) { + tags.add(type.getXmlTag()); + } + } + String[] result = new String[tags.size()]; + return (String[]) tags.toArray(result); + } + + private static String[] getContinuousServoXmlTags() { + List tags = new LinkedList<>(); + for (ConfigurationType type : ConfigurationTypeManager.getInstance().getApplicableConfigTypes(ConfigurationType.DeviceFlavor.SERVO, null, false)) { + if (type != BuiltInConfigurationType.NOTHING && ((ServoConfigurationType) type).getServoFlavor() == ServoFlavor.CONTINUOUS) { + tags.add(type.getXmlTag()); + } + } + String[] result = new String[tags.size()]; + return (String[]) tags.toArray(result); + } + + HardwareType(String createDropdownFunctionName, String blockTypePrefix, String identifierSuffixForJavaScript, String identifierSuffixForFtcJava, ToolboxFolder toolboxFolder, String toolboxCategoryName, ToolboxIcon toolboxIcon, Class cls, String... xmlTags) { + if (identifierSuffixForJavaScript == null || identifierSuffixForJavaScript.isEmpty()) { + throw new IllegalArgumentException("identifierSuffixForJavaScript"); + } + if (identifierSuffixForFtcJava == null || identifierSuffixForFtcJava.isEmpty()) { + throw new IllegalArgumentException("identifierSuffixForFtcJava"); + } + this.createDropdownFunctionName = createDropdownFunctionName; + this.blockTypePrefix = blockTypePrefix; + this.identifierSuffixForJavaScript = identifierSuffixForJavaScript; + this.identifierSuffixForFtcJava = identifierSuffixForFtcJava; + this.toolboxFolder = toolboxFolder; + this.toolboxCategoryName = toolboxCategoryName; + this.toolboxIcon = toolboxIcon; + this.deviceType = cls; + this.xmlTags = xmlTags; + } + + boolean isContainer() { + return this.deviceType == LynxModule.class || this.deviceType == ServoController.class; + } + + public String makeIdentifier(String deviceName) { + return HardwareItem.makeIdentifier(deviceName) + this.identifierSuffixForJavaScript; + } + + public static HardwareType fromIdentifierSuffixForJavaScript(String identifierSuffixForJavaScript) { + for (HardwareType hardwareType : values()) { + if (hardwareType.identifierSuffixForJavaScript.equals(identifierSuffixForJavaScript)) { + return hardwareType; + } + } + return null; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareUtil.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareUtil.java new file mode 100644 index 000000000000..0f689e0abc3e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/hardware/HardwareUtil.java @@ -0,0 +1,2565 @@ +package com.google.blocks.ftcrobotcontroller.hardware; + +import android.content.Context; +import android.content.res.AssetManager; +import android.graphics.Color; +import android.hardware.SensorManager; +import androidx.core.app.NotificationCompat; +import androidx.core.internal.view.SupportMenu; +import androidx.core.view.ViewCompat; +import com.google.blocks.ftcrobotcontroller.util.AvailableTtsLocalesProvider; +import com.google.blocks.ftcrobotcontroller.util.CurrentGame; +import com.google.blocks.ftcrobotcontroller.util.FileUtil; +import com.google.blocks.ftcrobotcontroller.util.Identifier; +import com.google.blocks.ftcrobotcontroller.util.ProjectsUtil; +import com.google.blocks.ftcrobotcontroller.util.ToolboxFolder; +import com.google.blocks.ftcrobotcontroller.util.ToolboxIcon; +import com.google.blocks.ftcrobotcontroller.util.ToolboxUtil; +import com.qualcomm.ftccommon.R; +import com.qualcomm.ftccommon.SoundPlayer; +import com.qualcomm.ftccommon.configuration.RobotConfigFile; +import com.qualcomm.ftccommon.configuration.RobotConfigFileManager; +import com.qualcomm.hardware.andymark.AndyMarkColorSensor; +import com.qualcomm.hardware.andymark.AndyMarkIMU; +import com.qualcomm.hardware.andymark.AndyMarkIMUOrientationOnRobot; +import com.qualcomm.hardware.bosch.BNO055IMU; +import com.qualcomm.hardware.bosch.JustLoggingAccelerationIntegrator; +import com.qualcomm.hardware.dfrobot.HuskyLens; +import com.qualcomm.hardware.digitalchickenlabs.OctoQuad; +import com.qualcomm.hardware.gobilda.GoBildaPinpointDriver; +import com.qualcomm.hardware.limelightvision.LLResult; +import com.qualcomm.hardware.limelightvision.LLResultTypes; +import com.qualcomm.hardware.limelightvision.LLStatus; +import com.qualcomm.hardware.limelightvision.Limelight3A; +import com.qualcomm.hardware.maxbotix.MaxSonarI2CXL; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cCompassSensor; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cGyro; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cRangeSensor; +import com.qualcomm.hardware.rev.Rev9AxisImuOrientationOnRobot; +import com.qualcomm.hardware.rev.RevBlinkinLedDriver; +import com.qualcomm.hardware.rev.RevHubOrientationOnRobot; +import com.qualcomm.hardware.sparkfun.SparkFunLEDStick; +import com.qualcomm.hardware.sparkfun.SparkFunOTOS; +import com.qualcomm.robotcore.eventloop.opmode.Autonomous; +import com.qualcomm.robotcore.eventloop.opmode.Disabled; +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.OpMode; +import com.qualcomm.robotcore.eventloop.opmode.OpModeManagerImpl; +import com.qualcomm.robotcore.eventloop.opmode.TeleOp; +import com.qualcomm.robotcore.hardware.AccelerationSensor; +import com.qualcomm.robotcore.hardware.AnalogInput; +import com.qualcomm.robotcore.hardware.CRServo; +import com.qualcomm.robotcore.hardware.ColorSensor; +import com.qualcomm.robotcore.hardware.CompassSensor; +import com.qualcomm.robotcore.hardware.DcMotor; +import com.qualcomm.robotcore.hardware.DcMotorEx; +import com.qualcomm.robotcore.hardware.DcMotorSimple; +import com.qualcomm.robotcore.hardware.DigitalChannel; +import com.qualcomm.robotcore.hardware.DistanceSensor; +import com.qualcomm.robotcore.hardware.Gamepad; +import com.qualcomm.robotcore.hardware.GyroSensor; +import com.qualcomm.robotcore.hardware.Gyroscope; +import com.qualcomm.robotcore.hardware.HardwareDevice; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.I2cAddrConfig; +import com.qualcomm.robotcore.hardware.I2cAddressableDevice; +import com.qualcomm.robotcore.hardware.IMU; +import com.qualcomm.robotcore.hardware.ImuOrientationOnRobot; +import com.qualcomm.robotcore.hardware.IrSeekerSensor; +import com.qualcomm.robotcore.hardware.LED; +import com.qualcomm.robotcore.hardware.Light; +import com.qualcomm.robotcore.hardware.LightSensor; +import com.qualcomm.robotcore.hardware.MotorControlAlgorithm; +import com.qualcomm.robotcore.hardware.NormalizedColorSensor; +import com.qualcomm.robotcore.hardware.NormalizedRGBA; +import com.qualcomm.robotcore.hardware.OpticalDistanceSensor; +import com.qualcomm.robotcore.hardware.OrientationSensor; +import com.qualcomm.robotcore.hardware.PIDCoefficients; +import com.qualcomm.robotcore.hardware.PIDFCoefficients; +import com.qualcomm.robotcore.hardware.PWMOutput; +import com.qualcomm.robotcore.hardware.Servo; +import com.qualcomm.robotcore.hardware.ServoController; +import com.qualcomm.robotcore.hardware.SwitchableLight; +import com.qualcomm.robotcore.hardware.TouchSensor; +import com.qualcomm.robotcore.hardware.UltrasonicSensor; +import com.qualcomm.robotcore.hardware.VoltageSensor; +import com.qualcomm.robotcore.hardware.configuration.DeviceConfiguration; +import com.qualcomm.robotcore.hardware.configuration.annotations.DeviceProperties; +import com.qualcomm.robotcore.robot.RobotState; +import com.qualcomm.robotcore.util.Device; +import com.qualcomm.robotcore.util.ElapsedTime; +import com.qualcomm.robotcore.util.Range; +import com.qualcomm.robotcore.util.ReadWriteFile; +import com.qualcomm.robotcore.util.RobotLog; +import com.qualcomm.robotcore.util.SortOrder; +import dk.sgjesse.r8api.DescriptorUtils; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.TimeUnit; +import org.firstinspires.ftc.onbotjava.RequestConditions; +import org.firstinspires.ftc.robotcore.external.ClassFactory; +import org.firstinspires.ftc.robotcore.external.ExportAprilTagLibraryToBlocks; +import org.firstinspires.ftc.robotcore.external.ExportEnumToBlocks; +import org.firstinspires.ftc.robotcore.external.ExportToBlocks; +import org.firstinspires.ftc.robotcore.external.JavaUtil; +import org.firstinspires.ftc.robotcore.external.Telemetry; +import org.firstinspires.ftc.robotcore.external.android.AndroidAccelerometer; +import org.firstinspires.ftc.robotcore.external.android.AndroidGyroscope; +import org.firstinspires.ftc.robotcore.external.android.AndroidOrientation; +import org.firstinspires.ftc.robotcore.external.android.AndroidSoundPool; +import org.firstinspires.ftc.robotcore.external.android.AndroidTextToSpeech; +import org.firstinspires.ftc.robotcore.external.hardware.camera.BuiltinCameraDirection; +import org.firstinspires.ftc.robotcore.external.hardware.camera.CameraName; +import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.CameraControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.ExposureControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.FocusControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.GainControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.PtzControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.WhiteBalanceControl; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.OpenGLMatrix; +import org.firstinspires.ftc.robotcore.external.matrices.VectorF; +import org.firstinspires.ftc.robotcore.external.navigation.Acceleration; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; +import org.firstinspires.ftc.robotcore.external.navigation.Axis; +import org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.MagneticFlux; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Pose2D; +import org.firstinspires.ftc.robotcore.external.navigation.Pose3D; +import org.firstinspires.ftc.robotcore.external.navigation.Position; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; +import org.firstinspires.ftc.robotcore.external.navigation.TempUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Temperature; +import org.firstinspires.ftc.robotcore.external.navigation.UnnormalizedAngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Velocity; +import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; +import org.firstinspires.ftc.robotcore.external.stream.CameraStreamServer; +import org.firstinspires.ftc.robotcore.internal.opmode.BlocksClassFilter; +import org.firstinspires.ftc.robotcore.internal.opmode.OpModeMeta; +import org.firstinspires.ftc.robotcore.internal.opmode.RegisteredOpModes; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; +import org.firstinspires.ftc.vision.VisionPortal; +import org.firstinspires.ftc.vision.VisionProcessor; +import org.firstinspires.ftc.vision.apriltag.AprilTagDetection; +import org.firstinspires.ftc.vision.apriltag.AprilTagGameDatabase; +import org.firstinspires.ftc.vision.apriltag.AprilTagLibrary; +import org.firstinspires.ftc.vision.apriltag.AprilTagMetadata; +import org.firstinspires.ftc.vision.apriltag.AprilTagPoseFtc; +import org.firstinspires.ftc.vision.apriltag.AprilTagPoseRaw; +import org.firstinspires.ftc.vision.apriltag.AprilTagProcessor; +import org.firstinspires.ftc.vision.opencv.Circle; +import org.firstinspires.ftc.vision.opencv.ColorBlobLocatorProcessor; +import org.firstinspires.ftc.vision.opencv.ColorRange; +import org.firstinspires.ftc.vision.opencv.ColorSpace; +import org.firstinspires.ftc.vision.opencv.ImageRegion; +import org.firstinspires.ftc.vision.opencv.PredominantColorProcessor; +import org.opencv.core.Point; +import org.opencv.core.Rect; +import org.opencv.core.RotatedRect; +import org.opencv.core.Scalar; +import org.opencv.core.Size; + +/* JADX INFO: loaded from: classes8.dex */ +public class HardwareUtil { + private static final String COLOR_CATEGORY_NAME = "Color"; + private static final String DC_MOTOR_DUAL_CATEGORY_NAME = "Dual"; + private static final String DC_MOTOR_EX_CATEGORY_NAME = "Extended"; + private static final String ELAPSED_TIME_CATEGORY_NAME = "ElapsedTime"; + private static final String GAMEPAD_CATEGORY_NAME = "Gamepad"; + public static final String IDENTIFIERS_USED_PREFIX = "// IDENTIFIERS_USED="; + private static final String LINEAR_OP_MODE_CATEGORY_NAME = "LinearOpMode"; + private static final SensorManager sensorManager = (SensorManager) AppUtil.getDefContext().getSystemService("sensor"); + private static final BlocksClassFilter blocksClassFilter = BlocksClassFilter.getInstance(); + private static final Set RESERVED_WORDS_FOR_FTCJAVA = new TreeSet(); + private static final Map[]> KNOWN_TYPES_FOR_FTCJAVA = new TreeMap(); + private static final Map> XML_TAG_TO_HARDWARE_TYPES = new HashMap(); + + static { + buildKnownTypesAndReservedWordsForFtcJava(); + for (HardwareType hardwareType : HardwareType.values()) { + for (String xmlTag : hardwareType.xmlTags) { + List list = XML_TAG_TO_HARDWARE_TYPES.get(xmlTag); + if (list == null) { + list = new ArrayList(); + XML_TAG_TO_HARDWARE_TYPES.put(xmlTag, list); + } + list.add(hardwareType); + } + } + } + + public enum Capability { + BUILTIN_CAMERA("builtinCamera"), + WEBCAM("webcam"), + SWITCHABLE_CAMERA("switchableCamera"), + VISION("vision"); + + private final String placeholderType; + + Capability(String placeholderType) { + this.placeholderType = placeholderType; + } + + static Capability fromPlaceholderType(String type) { + for (Capability capability : values()) { + if (capability.placeholderType.equals(type)) { + return capability; + } + } + throw new IllegalArgumentException("Unexpected capability name " + type); + } + } + + private HardwareUtil() { + } + + static Iterable getHardwareTypes(String xmlTag) { + if (XML_TAG_TO_HARDWARE_TYPES.containsKey(xmlTag)) { + return Collections.unmodifiableList(XML_TAG_TO_HARDWARE_TYPES.get(xmlTag)); + } + return Collections.emptyList(); + } + + static Iterable getHardwareTypes(DeviceConfiguration deviceConfiguration) { + return getHardwareTypes(deviceConfiguration.getConfigurationType().getXmlTag()); + } + + public static String fetchJavaScriptForHardware() throws IOException { + return fetchJavaScriptForHardware(HardwareItemMap.newHardwareItemMap()); + } + + public static String fetchJavaScriptForHardware(HardwareItemMap hardwareItemMap) throws Throwable { + Map capabilities; + String warning; + Class[] clsArr; + int i; + StringBuilder createSkyStoneSoundResourceDropdown; + Iterator> it; + String defaultLanguageCode; + Context context = AppUtil.getDefContext(); + AssetManager assetManager = context.getAssets(); + StringBuilder jsHardware = new StringBuilder().append("\n"); + Map capabilities2 = getCapabilities(hardwareItemMap); + Set additionalReservedWordsForFtcJava = new HashSet<>(); + Set methodLookupStrings = new HashSet<>(); + String toolbox = generateToolbox(hardwareItemMap, capabilities2, assetManager, additionalReservedWordsForFtcJava, methodLookupStrings, jsHardware); + String toolbox2 = toolbox.replace("\n", " ").replaceAll("\\> +\\<", "><"); + Set teleOpNames = new TreeSet<>(); + RegisteredOpModes registeredOpModes = RegisteredOpModes.getInstance(); + registeredOpModes.waitOpModesRegistered(); + for (OpModeMeta opModeMeta : registeredOpModes.getOpModes()) { + if (opModeMeta.flavor == OpModeMeta.Flavor.TELEOP) { + teleOpNames.add(opModeMeta.name); + } + } + jsHardware.append("var allHardwareIdentifiers = [\n"); + Iterator it2 = hardwareItemMap.getAllHardwareItems().iterator(); + while (it2.hasNext()) { + jsHardware.append(" '").append(it2.next().identifier).append("',\n"); + } + jsHardware.append(" ];\n\n"); + jsHardware.append("var IDENTIFIERS_USED_PREFIX = '").append(IDENTIFIERS_USED_PREFIX).append("';\n\n"); + jsHardware.append("var XML_END_TAG = '").append(ProjectsUtil.escapeSingleQuotes(ProjectsUtil.XML_END_TAG)).append("';\n").append("var XML_EXTRA_START = '").append(ProjectsUtil.escapeSingleQuotes(ProjectsUtil.XML_EXTRA_START)).append("';\n\n"); + jsHardware.append("var AUTO_TRANSITION_OPTIONS = [\n"); + for (String teleOpName : teleOpNames) { + jsHardware.append(" '").append(ProjectsUtil.escapeSingleQuotes(teleOpName)).append("',\n"); + teleOpNames = teleOpNames; + registeredOpModes = registeredOpModes; + } + jsHardware.append("];\n\n"); + jsHardware.append("var currentGameName = '").append(ProjectsUtil.escapeSingleQuotes(CurrentGame.CURRENT_GAME_NAME)).append("';\n").append("var currentGameNameNoSpaces = '").append(ProjectsUtil.escapeSingleQuotes(CurrentGame.CURRENT_GAME_NAME_NO_SPACES)).append("';\n").append("\n"); + jsHardware.append("var methodLookupStrings = [\n"); + for (String methodLookupString : methodLookupStrings) { + jsHardware.append(" '").append(methodLookupString).append("',\n"); + } + jsHardware.append("];\n\n"); + String str = " return '';\n"; + jsHardware.append("function getOctoQuadConstant(constantIdentifier) {\n").append(" switch (constantIdentifier) {\n").append(" case 'OCTOQUAD_CHIP_ID':\n").append(" return '").append("0x").append(Integer.toHexString(81).toUpperCase()).append("';\n").append(" case 'SUPPORTED_FW_VERSION_MAJ':\n").append(" return '").append(3).append("';\n").append(" case 'ENCODER_FIRST':\n").append(" return '").append(0).append("';\n").append(" case 'ENCODER_LAST':\n").append(" return '").append(7).append("';\n").append(" case 'NUM_ENCODERS':\n").append(" return '").append(8).append("';\n").append(" case 'MIN_VELOCITY_MEASUREMENT_INTERVAL_MS':\n").append(" return '").append(1).append("';\n").append(" case 'MAX_VELOCITY_MEASUREMENT_INTERVAL_MS':\n").append(" return '").append(255).append("';\n").append(" case 'MIN_PULSE_WIDTH_US':\n").append(" return '").append(0).append("';\n").append(" case 'MAX_PULSE_WIDTH_US':\n").append(" return '").append("0x").append(Integer.toHexString(65535).toUpperCase()).append("';\n").append(" }\n").append(" return '';\n").append("}\n\n"); + jsHardware.append("function isValidProjectName(projectName) {\n").append(" if (projectName) {\n").append(" return /").append(ProjectsUtil.VALID_PROJECT_REGEX).append("/.test(projectName);\n").append(" }\n").append(" return false;\n").append("}\n\n"); + String str2 = " '"; + jsHardware.append("function getSparkFunOTOSConstant(constantIdentifier) {\n").append(" switch (constantIdentifier) {\n").append(" case 'MIN_SCALAR':\n").append(" return '").append(0.872d).append("';\n").append(" case 'MAX_SCALAR':\n").append(" return '").append(1.127d).append("';\n").append(" }\n").append(" return '';\n").append("}\n\n"); + jsHardware.append("function getColorConstant(constantIdentifier) {\n").append(" switch (constantIdentifier) {\n").append(" case 'BLACK':\n").append(" return '").append("0x").append(Integer.toHexString(ViewCompat.MEASURED_STATE_MASK).toUpperCase()).append("';\n").append(" case 'BLUE':\n").append(" return '").append("0x").append(Integer.toHexString(-16776961).toUpperCase()).append("';\n").append(" case 'CYAN':\n").append(" return '").append("0x").append(Integer.toHexString(-16711681).toUpperCase()).append("';\n").append(" case 'DKGRAY':\n").append(" return '").append("0x").append(Integer.toHexString(-12303292).toUpperCase()).append("';\n").append(" case 'GRAY':\n").append(" return '").append("0x").append(Integer.toHexString(-7829368).toUpperCase()).append("';\n").append(" case 'GREEN':\n").append(" return '").append("0x").append(Integer.toHexString(-16711936).toUpperCase()).append("';\n").append(" case 'LTGRAY':\n").append(" return '").append("0x").append(Integer.toHexString(-3355444).toUpperCase()).append("';\n").append(" case 'MAGENTA':\n").append(" return '").append("0x").append(Integer.toHexString(-65281).toUpperCase()).append("';\n").append(" case 'RED':\n").append(" return '").append("0x").append(Integer.toHexString(SupportMenu.CATEGORY_MASK).toUpperCase()).append("';\n").append(" case 'WHITE':\n").append(" return '").append("0x").append(Integer.toHexString(-1).toUpperCase()).append("';\n").append(" case 'YELLOW':\n").append(" return '").append("0x").append(Integer.toHexString(-256).toUpperCase()).append("';\n").append(" }\n").append(" return '';\n").append("}\n\n"); + StringBuilder blinkinPatternTooltips = new StringBuilder(); + StringBuilder blinkinPatternFromTextTooltip = new StringBuilder(); + blinkinPatternTooltips.append("var BLINKIN_PATTERN_TOOLTIPS = [\n"); + blinkinPatternFromTextTooltip.append("var BLINKIN_PATTERN_FROM_TEXT_TOOLTIP =\n").append(" 'Returns the pattern associated with the given text. Valid input is ' +\n"); + RevBlinkinLedDriver.BlinkinPattern[] blinkinPatterns = RevBlinkinLedDriver.BlinkinPattern.values(); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = blinkinPatterns[0]; + int i2 = 0; + while (true) { + capabilities = capabilities2; + if (i2 >= blinkinPatterns.length - 1) { + break; + } + String str3 = str; + blinkinPatternTooltips.append(" ['").append(blinkinPattern).append("', 'The BlinkinPattern value ").append(blinkinPattern).append(".'],\n"); + String str4 = str2; + blinkinPatternFromTextTooltip.append(str4).append(blinkinPattern).append(", ' +\n"); + i2++; + blinkinPattern = blinkinPatterns[i2]; + additionalReservedWordsForFtcJava = additionalReservedWordsForFtcJava; + capabilities2 = capabilities; + str2 = str4; + str = str3; + } + String str5 = str; + String str6 = str2; + Set additionalReservedWordsForFtcJava2 = additionalReservedWordsForFtcJava; + blinkinPatternTooltips.append("];\n"); + blinkinPatternFromTextTooltip.append(" 'or ").append(blinkinPattern).append(".';\n"); + jsHardware.append((CharSequence) blinkinPatternTooltips).append("\n").append((CharSequence) blinkinPatternFromTextTooltip).append("\n"); + SortedMap languageCodes = new TreeMap<>(); + SortedMap countryCodes = new TreeMap<>(); + for (Locale locale : AvailableTtsLocalesProvider.getInstance().getAvailableTtsLocales()) { + StringBuilder blinkinPatternTooltips2 = blinkinPatternTooltips; + StringBuilder blinkinPatternFromTextTooltip2 = blinkinPatternFromTextTooltip; + languageCodes.put(locale.getLanguage(), locale.getDisplayLanguage()); + String countryCode = locale.getCountry(); + if (!countryCode.isEmpty()) { + countryCodes.put(countryCode, locale.getDisplayCountry()); + } + blinkinPatternTooltips = blinkinPatternTooltips2; + blinkinPatternFromTextTooltip = blinkinPatternFromTextTooltip2; + } + Locale defaultLocale = Locale.getDefault(); + String defaultLanguageCode2 = defaultLocale.getLanguage(); + StringBuilder createLanguageCodeDropdown = new StringBuilder(); + StringBuilder languageCodeTooltips = new StringBuilder(); + createLanguageCodeDropdown.append("function createLanguageCodeDropdown() {\n").append(" var CHOICES = [\n"); + languageCodeTooltips.append("var LANGUAGE_CODE_TOOLTIPS = [\n"); + addLanguage(defaultLanguageCode2, defaultLocale.getDisplayLanguage(), createLanguageCodeDropdown, languageCodeTooltips); + for (Map.Entry entry : languageCodes.entrySet()) { + SortedMap languageCodes2 = languageCodes; + String languageCode = entry.getKey(); + if (languageCode.equals(defaultLanguageCode2)) { + defaultLanguageCode = defaultLanguageCode2; + } else { + defaultLanguageCode = defaultLanguageCode2; + String languageName = entry.getValue(); + addLanguage(languageCode, languageName, createLanguageCodeDropdown, languageCodeTooltips); + } + languageCodes = languageCodes2; + defaultLanguageCode2 = defaultLanguageCode; + } + createLanguageCodeDropdown.append(" ];\n").append(" return createFieldDropdown(CHOICES);\n").append("}\n\n"); + languageCodeTooltips.append("];\n"); + jsHardware.append((CharSequence) createLanguageCodeDropdown).append((CharSequence) languageCodeTooltips).append("\n"); + String defaultCountryCode = defaultLocale.getCountry(); + StringBuilder createCountryCodeDropdown = new StringBuilder(); + StringBuilder countryCodeTooltips = new StringBuilder(); + createCountryCodeDropdown.append("function createCountryCodeDropdown() {\n").append(" var CHOICES = [\n"); + countryCodeTooltips.append("var COUNTRY_CODE_TOOLTIPS = [\n"); + addCountry(defaultCountryCode, defaultLocale.getDisplayCountry(), createCountryCodeDropdown, countryCodeTooltips); + Iterator> it3 = countryCodes.entrySet().iterator(); + while (it3.hasNext()) { + Map.Entry entry2 = it3.next(); + Locale defaultLocale2 = defaultLocale; + String countryCode2 = entry2.getKey(); + if (countryCode2.equals(defaultCountryCode)) { + it = it3; + } else { + it = it3; + String countryName = entry2.getValue(); + addCountry(countryCode2, countryName, createCountryCodeDropdown, countryCodeTooltips); + } + defaultLocale = defaultLocale2; + it3 = it; + } + createCountryCodeDropdown.append(" ];\n").append(" return createFieldDropdown(CHOICES);\n").append("}\n\n"); + countryCodeTooltips.append("];\n"); + jsHardware.append((CharSequence) createCountryCodeDropdown).append((CharSequence) countryCodeTooltips).append("\n"); + StringBuilder createSkyStoneSoundResourceDropdown2 = new StringBuilder(); + StringBuilder skyStoneSoundResourceTooltips = new StringBuilder(); + createSkyStoneSoundResourceDropdown2.append("function createSkyStoneSoundResourceDropdown() {\n").append(" var CHOICES = [\n"); + skyStoneSoundResourceTooltips.append("var SKY_STONE_SOUND_RESOURCE_TOOLTIPS = [\n"); + List resourceNames = new ArrayList<>(); + Field[] fields = R.raw.class.getFields(); + int length = fields.length; + int i3 = 0; + while (i3 < length) { + Field field = fields[i3]; + Field[] fieldArr = fields; + String resourceName = field.getName(); + int i4 = length; + String str7 = str6; + if (resourceName.toUpperCase().startsWith("SS_")) { + resourceNames.add(resourceName); + } + i3++; + fields = fieldArr; + length = i4; + str6 = str7; + } + String str8 = str6; + Collections.sort(resourceNames); + for (String resourceName2 : resourceNames) { + createSkyStoneSoundResourceDropdown2.append(" ['").append(ProjectsUtil.escapeSingleQuotes(makeVisibleNameForDropdownItem(resourceName2))).append("', '").append(ProjectsUtil.escapeSingleQuotes(resourceName2)).append("'],\n"); + skyStoneSoundResourceTooltips.append(" ['").append(ProjectsUtil.escapeSingleQuotes(resourceName2)).append("', 'The SoundResource value ").append(ProjectsUtil.escapeSingleQuotes(resourceName2)).append(".'],\n"); + } + createSkyStoneSoundResourceDropdown2.append(" ];\n").append(" return createFieldDropdown(CHOICES);\n").append("}\n\n"); + skyStoneSoundResourceTooltips.append("];\n"); + jsHardware.append((CharSequence) createSkyStoneSoundResourceDropdown2).append((CharSequence) skyStoneSoundResourceTooltips).append("\n"); + jsHardware.append("var androidSoundPoolRawResPrefix = '").append(AndroidSoundPool.RAW_RES_PREFIX).append("';\n"); + Identifier[] identifierArrValues = Identifier.values(); + int length2 = identifierArrValues.length; + int i5 = 0; + while (i5 < length2) { + Identifier identifier = identifierArrValues[i5]; + if (identifier.variableForJavaScript == null) { + createSkyStoneSoundResourceDropdown = createSkyStoneSoundResourceDropdown2; + } else { + createSkyStoneSoundResourceDropdown = createSkyStoneSoundResourceDropdown2; + jsHardware.append("var ").append(identifier.variableForJavaScript).append(" = '").append(identifier.identifierForJavaScript).append("';\n"); + } + if (identifier.variableForFtcJava != null) { + jsHardware.append("var ").append(identifier.variableForFtcJava).append(" = '").append(identifier.identifierForFtcJava).append("';\n"); + } + i5++; + createSkyStoneSoundResourceDropdown2 = createSkyStoneSoundResourceDropdown; + } + jsHardware.append("\n"); + jsHardware.append("function createWebcamDeviceNameDropdown() {\n").append(" var CHOICES = [\n"); + List hardwareItemsForWebcam = hardwareItemMap.getHardwareItems(HardwareType.WEBCAM_NAME); + for (HardwareItem hardwareItemForWebcam : hardwareItemsForWebcam) { + jsHardware.append(" ['").append(ProjectsUtil.escapeSingleQuotes(hardwareItemForWebcam.visibleName)).append("', '").append(ProjectsUtil.escapeSingleQuotes(hardwareItemForWebcam.deviceName)).append("'],\n"); + } + jsHardware.append(" ];\n").append(" return createFieldDropdown(CHOICES);\n").append("}\n\n"); + for (HardwareType hardwareType : HardwareType.values()) { + if (hardwareType.createDropdownFunctionName != null) { + List hardwareItems = hardwareItemMap.getHardwareItems(hardwareType); + appendCreateDropdownFunction(jsHardware, hardwareType.createDropdownFunctionName, hardwareItems); + if (hardwareType == HardwareType.DC_MOTOR) { + List hardwareItemsForDcMotorEx = getHardwareItemsForDcMotorEx(hardwareItems); + appendCreateDropdownFunction(jsHardware, "createDcMotorExDropdown", hardwareItemsForDcMotorEx); + } + } + } + jsHardware.append("function getHardwareIdentifierSuffixes() {\n").append(" var suffixes = [\n"); + for (HardwareType hardwareType2 : HardwareType.values()) { + jsHardware.append(str8 + hardwareType2.identifierSuffixForJavaScript + "',\n"); + } + jsHardware.append(" ];\n").append(" return suffixes;\n").append("}\n\n"); + jsHardware.append("function addReservedWordsForJavaScript() {\n"); + Iterator it4 = hardwareItemMap.getAllHardwareItems().iterator(); + while (it4.hasNext()) { + jsHardware.append(" Blockly.JavaScript.addReservedWords('").append(it4.next().identifier).append("');\n"); + } + List identifiersForJavaScript = new ArrayList<>(); + for (Identifier identifier2 : Identifier.values()) { + if (identifier2.identifierForJavaScript != null && !identifier2.identifierForJavaScript.isEmpty()) { + identifiersForJavaScript.add(identifier2.identifierForJavaScript); + } + } + Collections.sort(identifiersForJavaScript); + for (String identifierForJavaScript : identifiersForJavaScript) { + jsHardware.append(" Blockly.JavaScript.addReservedWords('").append(identifierForJavaScript).append("');\n"); + } + jsHardware.append("}\n\n"); + jsHardware.append("function getHardwareItemDeviceName(identifier) {\n").append(" switch (identifier) {\n"); + for (HardwareItem hardwareItem : hardwareItemMap.getAllHardwareItems()) { + jsHardware.append(" case '").append(hardwareItem.identifier).append("':\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(hardwareItem.deviceName)).append("';\n"); + } + jsHardware.append(" }\n").append(" throw 'Unexpected identifier (' + identifier + ').';\n").append("}\n\n"); + jsHardware.append("function getHardwareItemIdentifierForFtcJava(identifier) {\n").append(" switch (identifier) {\n"); + Set set = new HashSet<>(); + for (HardwareItem hardwareItem2 : hardwareItemMap.getAllHardwareItems()) { + List hardwareItemsForWebcam2 = hardwareItemsForWebcam; + String identifierForFtcJava = HardwareItem.makeIdentifier(hardwareItem2.deviceName); + List resourceNames2 = resourceNames; + if (RESERVED_WORDS_FOR_FTCJAVA.contains(identifierForFtcJava)) { + identifierForFtcJava = identifierForFtcJava + hardwareItem2.hardwareType.identifierSuffixForFtcJava; + } + if (!set.add(identifierForFtcJava)) { + identifierForFtcJava = identifierForFtcJava + hardwareItem2.hardwareType.identifierSuffixForFtcJava; + set.add(identifierForFtcJava); + } + jsHardware.append(" case '").append(hardwareItem2.identifier).append("':\n").append(" return '").append(identifierForFtcJava).append("';\n"); + hardwareItemsForWebcam = hardwareItemsForWebcam2; + resourceNames = resourceNames2; + identifiersForJavaScript = identifiersForJavaScript; + } + jsHardware.append(" }\n").append(" throw 'Unexpected identifier (' + identifier + ').';\n").append("}\n\n"); + jsHardware.append("function addReservedWordsForFtcJava() {\n"); + for (String word : RESERVED_WORDS_FOR_FTCJAVA) { + jsHardware.append(" Blockly.FtcJava.addReservedWords('").append(word).append("');\n"); + } + Set additionalReservedWordsForFtcJava3 = additionalReservedWordsForFtcJava2; + for (String word2 : additionalReservedWordsForFtcJava3) { + jsHardware.append(" Blockly.FtcJava.addReservedWords('").append(word2).append("');\n"); + } + Iterator it5 = hardwareItemMap.getAllHardwareItems().iterator(); + while (it5.hasNext()) { + jsHardware.append(" Blockly.FtcJava.addReservedWords(getHardwareItemIdentifierForFtcJava('").append(it5.next().identifier).append("'));\n"); + } + Identifier[] identifierArrValues2 = Identifier.values(); + int length3 = identifierArrValues2.length; + int i6 = 0; + while (i6 < length3) { + Identifier identifier3 = identifierArrValues2[i6]; + Identifier[] identifierArr = identifierArrValues2; + if (identifier3.identifierForFtcJava == null || identifier3.identifierForFtcJava.isEmpty()) { + i = length3; + } else { + i = length3; + jsHardware.append(" Blockly.FtcJava.addReservedWords('").append(identifier3.identifierForFtcJava).append("');\n"); + } + i6++; + identifierArrValues2 = identifierArr; + length3 = i; + } + jsHardware.append("}\n\n"); + jsHardware.append("function knownTypeToClassName(type) {\n").append(" switch (type) {\n"); + Iterator[]>> it6 = KNOWN_TYPES_FOR_FTCJAVA.entrySet().iterator(); + while (it6.hasNext()) { + Map.Entry[]> entry3 = it6.next(); + String pkg = entry3.getKey(); + Class[] value = entry3.getValue(); + int length4 = value.length; + Iterator[]>> it7 = it6; + int i7 = 0; + while (i7 < length4) { + Map.Entry[]> entry4 = entry3; + Class c = value[i7]; + Set additionalReservedWordsForFtcJava4 = additionalReservedWordsForFtcJava3; + if (pkg.equals(c.getPackage().getName())) { + clsArr = value; + } else { + clsArr = value; + RobotLog.e("Error: expected package " + pkg + " for " + c); + } + String name = c.getSimpleName(); + Class enclosingClass = c.getEnclosingClass(); + while (enclosingClass != null) { + name = enclosingClass.getSimpleName() + DescriptorUtils.JAVA_PACKAGE_SEPARATOR + name; + enclosingClass = enclosingClass.getEnclosingClass(); + skyStoneSoundResourceTooltips = skyStoneSoundResourceTooltips; + } + StringBuilder skyStoneSoundResourceTooltips2 = skyStoneSoundResourceTooltips; + jsHardware.append(" case '").append(name).append("':\n"); + if (c.equals(CRServo.class) || c.equals(DcMotor.class)) { + jsHardware.append(" case '").append(name).append(".Direction':\n"); + } + i7++; + entry3 = entry4; + value = clsArr; + additionalReservedWordsForFtcJava3 = additionalReservedWordsForFtcJava4; + skyStoneSoundResourceTooltips = skyStoneSoundResourceTooltips2; + } + jsHardware.append(" return '").append(pkg).append(".' + type;\n"); + it6 = it7; + } + jsHardware.append(" case '").append(Point.class.getName()).append("':\n").append(" case '").append(Rect.class.getName()).append("':\n").append(" case '").append(Size.class.getName()).append("':\n").append(" return type;\n"); + jsHardware.append(" }\n").append(" return knownTypeToClassNameObsolete(type);\n").append("}\n\n"); + jsHardware.append("function getIconClass(categoryName) {\n"); + for (HardwareType hardwareType3 : HardwareType.values()) { + if (hardwareType3.toolboxCategoryName != null && hardwareType3.toolboxIcon != null) { + jsHardware.append(" if (categoryName == '").append(ProjectsUtil.escapeSingleQuotes(hardwareType3.toolboxCategoryName)).append("') {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(hardwareType3.toolboxIcon.cssClass)).append("';\n").append(" }\n"); + } + } + jsHardware.append(" if (categoryName == '").append(ProjectsUtil.escapeSingleQuotes(DC_MOTOR_DUAL_CATEGORY_NAME)).append("') {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(ToolboxIcon.DC_MOTOR.cssClass)).append("';\n").append(" }\n").append(" if (categoryName == '").append(ProjectsUtil.escapeSingleQuotes(GAMEPAD_CATEGORY_NAME)).append("') {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(ToolboxIcon.GAMEPAD.cssClass)).append("';\n").append(" }\n").append(" if (categoryName == '").append(ProjectsUtil.escapeSingleQuotes(LINEAR_OP_MODE_CATEGORY_NAME)).append("') {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(ToolboxIcon.LINEAR_OPMODE.cssClass)).append("';\n").append(" }\n").append(" if (categoryName == '").append(ProjectsUtil.escapeSingleQuotes(COLOR_CATEGORY_NAME)).append("') {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(ToolboxIcon.COLOR_SENSOR.cssClass)).append("';\n").append(" }\n").append(" if (categoryName == '").append(ProjectsUtil.escapeSingleQuotes(ELAPSED_TIME_CATEGORY_NAME)).append("') {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(ToolboxIcon.ELAPSED_TIME.cssClass)).append("';\n").append(" }\n").append(str5).append("}\n\n"); + jsHardware.append("function getWarningForCapabilityRequestedBySample(capability) {\n").append(" switch (capability) {\n"); + Capability[] capabilityArrValues = Capability.values(); + int length5 = capabilityArrValues.length; + int i8 = 0; + while (i8 < length5) { + Capability capability = capabilityArrValues[i8]; + Map capabilities3 = capabilities; + if (!capabilities3.get(capability).booleanValue() && (warning = getCapabilityWarning(capability)) != null) { + jsHardware.append(" case '").append(capability).append("':\n").append(" return '").append(warning).append("';\n"); + } + i8++; + capabilities = capabilities3; + } + jsHardware.append(" }\n").append(str5).append("}\n\n"); + jsHardware.append("function getToolbox() {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(toolbox2)).append("';\n").append("}\n\n"); + return jsHardware.toString(); + } + + static String makeVisibleNameForDropdownItem(String name) { + int length = name.length(); + StringBuilder visibleName = new StringBuilder(); + for (int i = 0; i < length; i++) { + char ch = name.charAt(i); + if (ch == ' ') { + visibleName.append((char) 160); + } else { + visibleName.append(ch); + } + } + return visibleName.toString(); + } + + private static void addLanguage(String languageCode, String languageName, StringBuilder dropdown, StringBuilder tooltips) { + dropdown.append(" ['").append(ProjectsUtil.escapeSingleQuotes(makeVisibleNameForDropdownItem(languageCode))).append("', '").append(ProjectsUtil.escapeSingleQuotes(languageCode)).append("'],\n"); + tooltips.append(" ['").append(ProjectsUtil.escapeSingleQuotes(languageCode)).append("', 'The language code for ").append(ProjectsUtil.escapeSingleQuotes(languageName)).append(".'],\n"); + } + + private static void addCountry(String countryCode, String countryName, StringBuilder dropdown, StringBuilder tooltips) { + dropdown.append(" ['").append(ProjectsUtil.escapeSingleQuotes(makeVisibleNameForDropdownItem(countryCode))).append("', '").append(ProjectsUtil.escapeSingleQuotes(countryCode)).append("'],\n"); + tooltips.append(" ['").append(ProjectsUtil.escapeSingleQuotes(countryCode)).append("', 'The country code for ").append(ProjectsUtil.escapeSingleQuotes(countryName)).append(".'],\n"); + } + + private static void appendCreateDropdownFunction(StringBuilder jsHardware, String functionName, List hardwareItems) { + jsHardware.append("function ").append(functionName).append("() {\n").append(" var CHOICES = [\n"); + for (HardwareItem hardwareItem : hardwareItems) { + jsHardware.append(" ['").append(ProjectsUtil.escapeSingleQuotes(hardwareItem.visibleName)).append("', '").append(hardwareItem.identifier).append("'],\n"); + } + jsHardware.append(" ];\n").append(" return createFieldDropdown(CHOICES);\n").append("}\n\n"); + } + + private static List getHardwareItemsForDcMotorEx(List hardwareItemsForDcMotor) { + List hardwareItemsForDcMotorEx = new ArrayList<>(); + for (HardwareItem hardwareItemForDcMotor : hardwareItemsForDcMotor) { + hardwareItemsForDcMotorEx.add(hardwareItemForDcMotor); + } + return hardwareItemsForDcMotorEx; + } + + private static String generateToolbox(HardwareItemMap hardwareItemMap, Map capabilities, AssetManager assetManager, Set additionalReservedWordsForFtcJava, Set methodLookupStrings, StringBuilder jsHardware) throws Throwable { + StringBuilder xmlToolbox = new StringBuilder(); + xmlToolbox.append("\n"); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/linear_op_mode.xml"); + addAsset(xmlToolbox, assetManager, "toolbox/gamepad.xml"); + } + for (ToolboxFolder toolboxFolder : ToolboxFolder.values()) { + xmlToolbox.append(" \n"); + SortedSet hardwareTypes = new TreeSet<>(HardwareType.BY_TOOLBOX_CATEGORY_NAME); + hardwareTypes.addAll(hardwareItemMap.getHardwareTypes()); + for (HardwareType hardwareType : hardwareTypes) { + if (hardwareType.toolboxFolder == toolboxFolder && hardwareType.toolboxCategoryName != null) { + addHardwareCategoryToToolbox(xmlToolbox, hardwareType, hardwareItemMap.getHardwareItems(hardwareType), assetManager); + } + } + xmlToolbox.append(" \n"); + } + addAndroidCategoriesToToolbox(xmlToolbox, assetManager); + addExportedHardwareAndEnums(xmlToolbox, additionalReservedWordsForFtcJava, methodLookupStrings, jsHardware); + addExportedStaticMethodsAndEnums(xmlToolbox, additionalReservedWordsForFtcJava, methodLookupStrings); + if (assetManager != null) { + addAssetWithPlaceholders(xmlToolbox, assetManager, additionalReservedWordsForFtcJava, methodLookupStrings, capabilities, hardwareItemMap, "toolbox/utilities.xml"); + addAsset(xmlToolbox, assetManager, "toolbox/misc.xml"); + } + xmlToolbox.append(ProjectsUtil.XML_END_TAG); + return xmlToolbox.toString(); + } + + private static void addExportedHardwareAndEnums(StringBuilder xmlToolbox, Set additionalReservedWordsForFtcJava, Set methodLookupStrings, StringBuilder jsHardware) { + Map, Set> methodsByClass = blocksClassFilter.getHardwareMethodsByClass(); + if (methodsByClass.isEmpty()) { + return; + } + OpModeManagerImpl opModeManagerImpl = OpModeManagerImpl.getOpModeManagerOfActivity(AppUtil.getInstance().getRootActivity()); + if (opModeManagerImpl == null) { + RobotLog.w("Fetching blocks toolbox: Unable to get OpModeManagerImpl"); + return; + } + long startTime = System.nanoTime(); + while (opModeManagerImpl.getRobotState() != RobotState.RUNNING) { + if (System.nanoTime() - startTime < 60000000000L) { + try { + Thread.sleep(1000L); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } else { + return; + } + } + HardwareMap hardwareMap = OpModeManagerImpl.getOpModeManagerOfActivity(AppUtil.getInstance().getRootActivity()).getHardwareMap(); + if (hardwareMap == null) { + RobotLog.w("Fetching blocks toolbox: Unable to get HardwareMap"); + return; + } + boolean addedAdditionalHardwareCategory = false; + Map>> enumClassesByEnclosingClass = blocksClassFilter.getEnumClassesByEnclosingClass(); + Iterator, Set>> it = methodsByClass.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry, Set> entry = it.next(); + Class clazz = entry.getKey(); + SortedSet deviceNames = hardwareMap.getAllNames(clazz); + if (!deviceNames.isEmpty()) { + if (!addedAdditionalHardwareCategory) { + xmlToolbox.append("\n"); + addedAdditionalHardwareCategory = true; + } + DeviceProperties deviceProperties = (DeviceProperties) clazz.getAnnotation(DeviceProperties.class); + HardwareMap hardwareMap2 = hardwareMap; + String createDropdownFunctionName = processDeviceNames(jsHardware, deviceProperties, deviceNames); + Map, Set> methodsByClass2 = methodsByClass; + String fullClassName = clazz.getName(); + getUserVisibleClassName(fullClassName, additionalReservedWordsForFtcJava); + OpModeManagerImpl opModeManagerImpl2 = opModeManagerImpl; + long startTime2 = startTime; + String str = "\">\n"; + xmlToolbox.append("\n"); + Set methods = entry.getValue(); + Iterator it2 = methods.iterator(); + while (it2.hasNext()) { + Set methods2 = methods; + Method method = it2.next(); + Iterator it3 = it2; + ExportToBlocks exportToBlocks = (ExportToBlocks) method.getAnnotation(ExportToBlocks.class); + if (exportToBlocks == null) { + it2 = it3; + methods = methods2; + } else { + boolean addedAdditionalHardwareCategory2 = addedAdditionalHardwareCategory; + String returnType = method.getReturnType().getName(); + Iterator, Set>> it4 = it; + String blockType = returnType.equals("void") ? "misc_callHardware_noReturn" : "misc_callHardware_return"; + Map.Entry, Set> entry2 = entry; + String methodName = method.getName(); + SortedSet deviceNames2 = deviceNames; + Class[] parameterTypes = method.getParameterTypes(); + DeviceProperties deviceProperties2 = deviceProperties; + int color = exportToBlocks.color(); + String comment = exportToBlocks.comment(); + String tooltip = exportToBlocks.tooltip(); + String methodLookupString = BlocksClassFilter.getLookupString(method); + methodLookupStrings.add(methodLookupString); + xmlToolbox.append("").append(methodName).append("").append(", Set>> it5 = it; + Set> enumClasses = enumClassesByEnclosingClass.get(clazz); + if (enumClasses != null) { + for (Class enumClass : enumClasses) { + addExportedEnum(enumClass, xmlToolbox, additionalReservedWordsForFtcJava); + } + } + xmlToolbox.append("\n"); + hardwareMap = hardwareMap2; + methodsByClass = methodsByClass2; + opModeManagerImpl = opModeManagerImpl2; + startTime = startTime2; + it = it5; + addedAdditionalHardwareCategory = addedAdditionalHardwareCategory3; + } + } + if (addedAdditionalHardwareCategory) { + xmlToolbox.append("\n"); + } + } + + private static String processDeviceNames(StringBuilder jsHardware, DeviceProperties deviceProperties, SortedSet deviceNames) { + StringBuilder sb = new StringBuilder(); + String xmlTag = deviceProperties.xmlTag(); + for (int i = 0; i < xmlTag.length(); i++) { + char ch = xmlTag.charAt(i); + if (Character.isJavaIdentifierPart(ch)) { + sb.append(ch); + } else { + sb.append('_'); + } + } + String functionName = sb.toString(); + jsHardware.append("function ").append(functionName).append("() {\n").append(" var CHOICES = [\n"); + for (String deviceName : deviceNames) { + String escapedDeviceName = ProjectsUtil.escapeSingleQuotes(deviceName); + jsHardware.append(" ['").append(escapedDeviceName).append("', '").append(escapedDeviceName).append("'],\n"); + } + jsHardware.append(" ];\n").append(" return createFieldDropdown(CHOICES);\n").append("}\n\n"); + return functionName; + } + + private static void addExportedStaticMethodsAndEnums(StringBuilder xmlToolbox, Set additionalReservedWordsForFtcJava, Set methodLookupStrings) { + boolean addedJavaClassesCategory = false; + Map> methodsByClass = blocksClassFilter.getStaticMethodsByClass(); + Map>> enumClassesByEnclosingClass = blocksClassFilter.getEnumClassesByEnclosingClass(); + Iterator>> it = methodsByClass.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry> entry = it.next(); + if (!addedJavaClassesCategory) { + xmlToolbox.append("\n"); + addedJavaClassesCategory = true; + } + Class enclosingClass = entry.getKey(); + String fullClassName = enclosingClass.getName(); + String userVisibleClassName = getUserVisibleClassName(fullClassName, additionalReservedWordsForFtcJava); + xmlToolbox.append("\n"); + Set methods = entry.getValue(); + Iterator it2 = methods.iterator(); + while (it2.hasNext()) { + Method method = it2.next(); + ExportToBlocks exportToBlocks = (ExportToBlocks) method.getAnnotation(ExportToBlocks.class); + if (exportToBlocks != null) { + boolean addedJavaClassesCategory2 = addedJavaClassesCategory; + String returnType = method.getReturnType().getName(); + Iterator>> it3 = it; + String blockType = returnType.equals("void") ? "misc_callJava_noReturn" : "misc_callJava_return"; + Map.Entry> entry2 = entry; + String methodName = method.getName(); + Set methods2 = methods; + Class[] parameterTypes = method.getParameterTypes(); + Iterator it4 = it2; + int color = exportToBlocks.color(); + String heading = exportToBlocks.heading(); + String comment = exportToBlocks.comment(); + String tooltip = exportToBlocks.tooltip(); + String methodLookupString = BlocksClassFilter.getLookupString(method); + methodLookupStrings.add(methodLookupString); + xmlToolbox.append("\n").append("").append(userVisibleClassName).append("").append("").append(methodName).append("").append("> methodsByClass2 = methodsByClass; + Iterator>> it5 = it; + Set> enumClasses = enumClassesByEnclosingClass.get(enclosingClass); + if (enumClasses != null) { + for (Class enumClass : enumClasses) { + addExportedEnum(enumClass, xmlToolbox, additionalReservedWordsForFtcJava); + } + } + xmlToolbox.append("\n"); + it = it5; + addedJavaClassesCategory = addedJavaClassesCategory3; + methodsByClass = methodsByClass2; + } + Set exportedClasses = methodsByClass.keySet(); + Set> hardwareClasses = blocksClassFilter.getHardwareMethodsByClass().keySet(); + for (Map.Entry>> entry3 : enumClassesByEnclosingClass.entrySet()) { + Class enclosingClass2 = entry3.getKey(); + if (!exportedClasses.contains(enclosingClass2) && !hardwareClasses.contains(enclosingClass2)) { + if (!addedJavaClassesCategory) { + xmlToolbox.append("\n"); + addedJavaClassesCategory = true; + } + xmlToolbox.append("\n"); + for (Class enumClass2 : entry3.getValue()) { + boolean addedJavaClassesCategory4 = addedJavaClassesCategory; + addExportedEnum(enumClass2, xmlToolbox, additionalReservedWordsForFtcJava); + addedJavaClassesCategory = addedJavaClassesCategory4; + } + xmlToolbox.append("\n"); + } + } + if (addedJavaClassesCategory) { + xmlToolbox.append("\n"); + } + } + + private static void addExportedEnum(Class enumClass, StringBuilder xmlToolbox, Set additionalReservedWordsForFtcJava) { + ExportEnumToBlocks exportEnumToBlocks = (ExportEnumToBlocks) enumClass.getAnnotation(ExportEnumToBlocks.class); + if (exportEnumToBlocks == null) { + return; + } + String fullClassName = enumClass.getName(); + String userVisibleEnumName = getUserVisibleEnumName(fullClassName, additionalReservedWordsForFtcJava); + int color = exportEnumToBlocks.color(); + Object[] enumValues = enumClass.getEnumConstants(); + StringBuilder sb = new StringBuilder().append("\n").append("").append(userVisibleEnumName).append("").append(""); + String blockDefinitionStart = sb.toString(); + for (Object enumValue : enumValues) { + xmlToolbox.append(blockDefinitionStart).append("").append(enumValue).append("\n").append("\n"); + if (enumValues.length > 4) { + return; + } + } + } + + private static String getUserVisibleClassName(String fullClassName, Set additionalReservedWordsForFtcJava) { + String className = fullClassName; + if (className.startsWith("org.firstinspires.ftc.teamcode.") && className.lastIndexOf(46) == 30) { + className = className.substring(31); + additionalReservedWordsForFtcJava.add(className); + } + return className.replace('$', DescriptorUtils.JAVA_PACKAGE_SEPARATOR); + } + + private static String getUserVisibleEnumName(String fullClassName, Set additionalReservedWordsForFtcJava) { + int firstDollar; + String className = fullClassName; + int lastDot = className.lastIndexOf(46); + if (lastDot != -1 && (firstDollar = (className = className.substring(lastDot + 1)).indexOf(36)) != -1) { + String outerClassName = className.substring(0, firstDollar); + additionalReservedWordsForFtcJava.add(outerClassName); + } + return className.replace('$', DescriptorUtils.JAVA_PACKAGE_SEPARATOR); + } + + /* JADX WARN: Removed duplicated region for block: B:387:0x0954 */ + /* JADX WARN: Removed duplicated region for block: B:403:0x097a A[SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private static void processMethodArguments(java.lang.StringBuilder r20, java.lang.Class[] r21, java.lang.String[] r22, java.lang.String[] r23) { + /* + Method dump skipped, instruction units count: 2456 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.google.blocks.ftcrobotcontroller.hardware.HardwareUtil.processMethodArguments(java.lang.StringBuilder, java.lang.Class[], java.lang.String[], java.lang.String[]):void"); + } + + private static > String parseEnumDefaultValue(String s, Class enumClass) { + try { + Enum.valueOf(enumClass, s); + return s; + } catch (IllegalArgumentException e) { + String s2 = s.toUpperCase(Locale.ENGLISH); + try { + Enum.valueOf(enumClass, s2); + return s2; + } catch (IllegalArgumentException e2) { + return null; + } + } + } + + public static String[] getParameterLabels(Method method) { + String[] parameterLabels; + ExportToBlocks exportToBlocks = (ExportToBlocks) method.getAnnotation(ExportToBlocks.class); + if (exportToBlocks != null) { + parameterLabels = exportToBlocks.parameterLabels(); + } else { + parameterLabels = new String[0]; + } + int length = method.getParameterTypes().length; + if (parameterLabels.length != length) { + parameterLabels = new String[length]; + for (int i = 0; i < parameterLabels.length; i++) { + parameterLabels[i] = ""; + } + } + return parameterLabels; + } + + public static String[] getParameterDefaultValues(Method method) { + String[] parameterDefaultValues; + ExportToBlocks exportToBlocks = (ExportToBlocks) method.getAnnotation(ExportToBlocks.class); + if (exportToBlocks != null) { + parameterDefaultValues = exportToBlocks.parameterDefaultValues(); + } else { + parameterDefaultValues = new String[0]; + } + int length = method.getParameterTypes().length; + if (parameterDefaultValues.length != length) { + parameterDefaultValues = new String[length]; + for (int i = 0; i < parameterDefaultValues.length; i++) { + parameterDefaultValues[i] = ""; + } + } + return parameterDefaultValues; + } + + private static String accessMethod(boolean hardware, Class returnType) { + return (returnType.equals(Boolean.TYPE) || returnType.equals(Boolean.class)) ? hardware ? "callHardware_boolean" : "callJava_boolean" : (returnType.equals(Character.TYPE) || returnType.equals(Character.class) || returnType.equals(String.class) || returnType.equals(Byte.TYPE) || returnType.equals(Byte.class) || returnType.equals(Short.TYPE) || returnType.equals(Short.class) || returnType.equals(Integer.TYPE) || returnType.equals(Integer.class) || returnType.equals(Long.TYPE) || returnType.equals(Long.class) || returnType.equals(Float.TYPE) || returnType.equals(Float.class) || returnType.equals(Double.TYPE) || returnType.equals(Double.class) || returnType.isEnum()) ? hardware ? "callHardware_String" : "callJava_String" : hardware ? "callHardware" : "callJava"; + } + + private static String convertReturnValue(Class returnType) { + if (returnType.equals(Byte.TYPE) || returnType.equals(Byte.class) || returnType.equals(Short.TYPE) || returnType.equals(Short.class) || returnType.equals(Integer.TYPE) || returnType.equals(Integer.class) || returnType.equals(Long.TYPE) || returnType.equals(Long.class) || returnType.equals(Float.TYPE) || returnType.equals(Float.class) || returnType.equals(Double.TYPE) || returnType.equals(Double.class)) { + return "Number"; + } + return ""; + } + + private static String parameterProvidedAutomatically(Class parameterType, String parameterLabel, List gamepads) { + if (parameterType.equals(LinearOpMode.class) || parameterType.equals(OpMode.class)) { + return "this"; + } + if (parameterType.equals(HardwareMap.class)) { + return "hardwareMap"; + } + if (parameterType.equals(Telemetry.class)) { + return "telemetry"; + } + if (parameterType.equals(Gamepad.class)) { + if (parameterLabel.equals("gamepad1") || parameterLabel.equals("gamepad2")) { + return parameterLabel; + } + if (gamepads.isEmpty()) { + gamepads.add("gamepad1"); + gamepads.add("gamepad2"); + } + return gamepads.remove(0); + } + return null; + } + + private static String getCapabilityWarning(Capability capability) { + switch (capability) { + case SWITCHABLE_CAMERA: + return "The current configuration does not have multiple webcams."; + case VISION: + return "The current configuration has no webcam."; + default: + return null; + } + } + + public static Map getCapabilities(HardwareItemMap hardwareItemMap) { + boolean hasBuiltinCamera; + Map capabilities = new HashMap<>(); + if (Device.isRevControlHub()) { + hasBuiltinCamera = false; + } else { + hasBuiltinCamera = AppUtil.getDefContext().getPackageManager().hasSystemFeature("android.hardware.camera"); + } + int numberOfWebcams = hardwareItemMap.getHardwareItems(HardwareType.WEBCAM_NAME).size(); + boolean webcam = numberOfWebcams > 0; + boolean switchableCamera = numberOfWebcams > 1; + capabilities.put(Capability.BUILTIN_CAMERA, Boolean.valueOf(hasBuiltinCamera)); + capabilities.put(Capability.WEBCAM, Boolean.valueOf(webcam)); + capabilities.put(Capability.SWITCHABLE_CAMERA, Boolean.valueOf(switchableCamera)); + capabilities.put(Capability.VISION, Boolean.valueOf(hasBuiltinCamera || webcam)); + return capabilities; + } + + private static void addAsset(StringBuilder sb, AssetManager assetManager, String assetName) throws IOException { + FileUtil.readAsset(sb, assetManager, assetName); + } + + private static void addAssetSansXmlComments(StringBuilder xmlToolbox, AssetManager assetManager, String assetName) throws IOException { + BufferedReader reader = new BufferedReader(new InputStreamReader(assetManager.open(assetName))); + while (true) { + try { + String line = reader.readLine(); + if (line != null) { + String trimmedLine = line.trim(); + if (!trimmedLine.startsWith("")) { + xmlToolbox.append(line).append("\n"); + } + } else { + reader.close(); + return; + } + } catch (Throwable th) { + try { + reader.close(); + } catch (Throwable th2) { + th.addSuppressed(th2); + } + throw th; + } + } + } + + private static void addAssetWithPlaceholders(StringBuilder xmlToolbox, AssetManager assetManager, Set additionalReservedWordsForFtcJava, Set methodLookupStrings, Map capabilities, HardwareItemMap hardwareItemMap, String assetName) throws Throwable { + BufferedReader reader = new BufferedReader(new InputStreamReader(assetManager.open(assetName))); + while (true) { + try { + String line = reader.readLine(); + if (line != null) { + String line2 = line.trim().replace("", getWebcamBlocks(hardwareItemMap)).replace("", getExportedAprilTagLibraryBlocks(additionalReservedWordsForFtcJava, methodLookupStrings)); + if (line2.startsWith("")) { + int startOfType = "".length()).trim() + RobotConfigFileManager.FILE_EXT; + Boolean allowed = capabilities.get(Capability.fromPlaceholderType(type)); + if (allowed == null) { + RobotLog.e("Error: Skipping " + childAssetName + " because capability \"" + type + "\" is not recognized."); + } else if (!allowed.booleanValue()) { + RobotLog.w("Skipping " + childAssetName + " because capability \"" + type + "\" is not supported by this device and/or hardware."); + } else { + addAssetWithPlaceholders(xmlToolbox, assetManager, additionalReservedWordsForFtcJava, methodLookupStrings, capabilities, hardwareItemMap, childAssetName); + } + } else { + RobotLog.e("Error: Unable to parse placeholder \"" + line2 + "\""); + } + } else { + try { + xmlToolbox.append(line2).append("\n"); + } catch (Throwable th) { + th = th; + Throwable th2 = th; + try { + reader.close(); + throw th2; + } catch (Throwable th3) { + th2.addSuppressed(th3); + throw th2; + } + } + } + } else { + reader.close(); + return; + } + } catch (Throwable th4) { + th = th4; + } + } + } + + private static String getWebcamBlocks(HardwareItemMap hardwareItemMap) { + StringBuilder webcamBlocks = new StringBuilder(); + List hardwareItemsForWebcam = hardwareItemMap.getHardwareItems(HardwareType.WEBCAM_NAME); + for (HardwareItem hardwareItemForWebcam : hardwareItemsForWebcam) { + webcamBlocks.append("").append(hardwareItemForWebcam.deviceName).append("\n"); + } + return webcamBlocks.toString(); + } + + private static String getExportedAprilTagLibraryBlocks(Set additionalReservedWordsForFtcJava, Set methodLookupStrings) { + StringBuilder sb = new StringBuilder(); + Map> methodsByClass = blocksClassFilter.getAprilTagLibraryMethodsByClass(); + if (!methodsByClass.isEmpty()) { + Iterator>> it = methodsByClass.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry> entry = it.next(); + Class enclosingClass = entry.getKey(); + String fullClassName = enclosingClass.getName(); + String userVisibleClassName = getUserVisibleClassName(fullClassName, additionalReservedWordsForFtcJava); + Set methods = entry.getValue(); + for (Method method : methods) { + ExportAprilTagLibraryToBlocks exportAprilTagLibraryToBlocks = (ExportAprilTagLibraryToBlocks) method.getAnnotation(ExportAprilTagLibraryToBlocks.class); + if (exportAprilTagLibraryToBlocks != null) { + String returnType = method.getReturnType().getName(); + String blockType = returnType.equals("void") ? "misc_callJava_noReturn" : "misc_callJava_return"; + String methodName = method.getName(); + Class[] parameterTypes = method.getParameterTypes(); + Map> methodsByClass2 = methodsByClass; + int color = exportAprilTagLibraryToBlocks.color(); + String heading = exportAprilTagLibraryToBlocks.heading(); + String comment = exportAprilTagLibraryToBlocks.comment(); + String tooltip = exportAprilTagLibraryToBlocks.tooltip(); + Iterator>> it2 = it; + String methodLookupString = BlocksClassFilter.getLookupString(method); + methodLookupStrings.add(methodLookupString); + sb.append("myAprilTagLibrary\n").append("\n").append("").append(userVisibleClassName).append("").append("").append(methodName).append("").append(""); + methodsByClass = methodsByClass2; + it = it2; + entry = entry; + userVisibleClassName = userVisibleClassName; + } + } + } + } + return sb.toString(); + } + + private static void addAndroidCategoriesToToolbox(StringBuilder xmlToolbox, AssetManager assetManager) throws IOException { + boolean hasAccelerometer = !sensorManager.getSensorList(1).isEmpty(); + boolean hasGyroscope = !sensorManager.getSensorList(4).isEmpty(); + boolean hasMagneticField = true ^ sensorManager.getSensorList(2).isEmpty(); + StringBuilder sb = new StringBuilder(); + boolean empty = true; + if (hasAccelerometer) { + if (assetManager != null) { + addAsset(sb, assetManager, "toolbox/android_accelerometer.xml"); + empty = false; + } + } else { + RobotLog.w("Skipping toolbox/android_accelerometer.xml because this device does not have an accelerometer."); + } + if (hasGyroscope) { + if (assetManager != null) { + addAsset(sb, assetManager, "toolbox/android_gyroscope.xml"); + empty = false; + } + } else { + RobotLog.w("Skipping toolbox/android_gyroscope.xml because this device does not have a gyroscope."); + } + if (hasAccelerometer && hasMagneticField) { + if (assetManager != null) { + addAsset(sb, assetManager, "toolbox/android_orientation.xml"); + empty = false; + } + } else { + RobotLog.w("Skipping toolbox/android_gyroscope.xml because this device does not have an accelerometer and a magnetic field sensor."); + } + if (assetManager != null) { + addAsset(sb, assetManager, "toolbox/android_sound_pool.xml"); + addAsset(sb, assetManager, "toolbox/android_text_to_speech.xml"); + empty = false; + } + if (!empty) { + xmlToolbox.append("\n").append((CharSequence) sb).append("\n"); + } + } + + private static void addHardwareCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + if (hardwareItems != null && hardwareItems.size() > 0) { + xmlToolbox.append(" \n"); + switch (hardwareType) { + case ACCELERATION_SENSOR: + addAccelerationSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case ANALOG_INPUT: + addAnalogInputCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case ANDY_MARK_COLOR_SENSOR: + addAndyMarkColorSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case BNO055IMU: + addBNO055IMUCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case COLOR_RANGE_SENSOR: + addColorRangeSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case COLOR_SENSOR: + addColorSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case COMPASS_SENSOR: + addCompassSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case CR_SERVO: + addCRServoCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case DC_MOTOR: + addDcMotorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case DIGITAL_CHANNEL: + addDigitalChannelCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case DISTANCE_SENSOR: + addDistanceSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case GOBILDA_PINPOINT: + addGoBildaPinpointCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case GYRO_SENSOR: + addGyroSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case HUSKY_LENS: + addHuskyLensCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems, assetManager); + break; + case IMU: + addImuCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems, assetManager); + break; + case IR_SEEKER_SENSOR: + addIrSeekerSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case LED: + addLedCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case LIMELIGHT_3A: + addLimelight3ACategoryToToolbox(xmlToolbox, hardwareType, hardwareItems, assetManager); + break; + case LIGHT_SENSOR: + addLightSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case MAX_SONAR_I2CXL: + addMaxSonarI2CXLCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case MR_I2C_COMPASS_SENSOR: + addMrI2cCompassSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case MR_I2C_RANGE_SENSOR: + addMrI2cRangeSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case OCTOQUAD: + addOctoQuadCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems, assetManager); + break; + case OPTICAL_DISTANCE_SENSOR: + addOpticalDistanceSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case REV_BLINKIN_LED_DRIVER: + addRevBlinkinLedDriverCategoryToToolbox(xmlToolbox, assetManager); + break; + case SERVO: + addServoCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case SERVO_CONTROLLER: + addServoControllerCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case SPARKFUN_LED_STICK: + addSparkFunLEDStickCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems, assetManager); + break; + case SPARKFUN_OTOS: + addSparkFunOTOSCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems, assetManager); + break; + case TOUCH_SENSOR: + addTouchSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case ULTRASONIC_SENSOR: + addUltrasonicSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + case VOLTAGE_SENSOR: + addVoltageSensorCategoryToToolbox(xmlToolbox, hardwareType, hardwareItems); + break; + default: + throw new IllegalArgumentException("Unexpected hardware type " + hardwareType); + } + xmlToolbox.append(" \n"); + if (assetManager != null) { + switch (hardwareType) { + case BNO055IMU: + addAsset(xmlToolbox, assetManager, "toolbox/bno055imu_parameters.xml"); + return; + case SPARKFUN_OTOS: + addAsset(xmlToolbox, assetManager, "toolbox/sparkfun_otos_pose2d.xml"); + addAsset(xmlToolbox, assetManager, "toolbox/sparkfun_otos_signalprocessconfig.xml"); + addAsset(xmlToolbox, assetManager, "toolbox/sparkfun_otos_status.xml"); + addAsset(xmlToolbox, assetManager, "toolbox/sparkfun_otos_version.xml"); + return; + default: + return; + } + } + } + } + + private static void addAccelerationSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Acceleration", "Acceleration"); + properties.put("XAccel", "Number"); + properties.put("YAccel", "Number"); + properties.put("ZAccel", "Number"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + Map> functions = new TreeMap<>(); + functions.put("toText", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addBNO055IMUCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Acceleration", "Acceleration"); + properties.put("AngularOrientation", "Orientation"); + properties.put("AngularOrientationAxes", "Array"); + properties.put("AngularVelocity", "AngularVelocity"); + properties.put("AngularVelocityAxes", "Array"); + properties.put("CalibrationStatus", "String"); + properties.put("Gravity", "Acceleration"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + properties.put("LinearAcceleration", "Acceleration"); + properties.put("MagneticFieldStrength", "MagneticFlux"); + properties.put("OverallAcceleration", "Acceleration"); + properties.put("Position", "Position"); + properties.put("QuaternionOrientation", "Quaternion"); + properties.put("SystemError", "String"); + properties.put("SystemStatus", "SystemStatus"); + properties.put("Temperature", "Temperature"); + properties.put("Velocity", "Velocity"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("SystemStatus", ToolboxUtil.makeTypedEnumBlock(hardwareType, "systemStatus")); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, enumBlocks); + Map> functions = new TreeMap<>(); + Map initializeArgs = new LinkedHashMap<>(); + initializeArgs.put("PARAMETERS", ToolboxUtil.makeVariableGetBlock("parameters")); + functions.put("initialize", initializeArgs); + Map startAccelerationIntegration_with1Args = new LinkedHashMap<>(); + startAccelerationIntegration_with1Args.put("MS_POLL_INTERVAL", ToolboxUtil.makeNumberShadow(1000)); + functions.put("startAccelerationIntegration_with1", startAccelerationIntegration_with1Args); + Map startAccelerationIntegration_with3Args = new LinkedHashMap<>(); + startAccelerationIntegration_with3Args.put("INITIAL_POSITION", ToolboxUtil.makeVariableGetBlock("position")); + startAccelerationIntegration_with3Args.put("INITIAL_VELOCITY", ToolboxUtil.makeVariableGetBlock("velocity")); + startAccelerationIntegration_with3Args.put("MS_POLL_INTERVAL", ToolboxUtil.makeNumberShadow(1000)); + functions.put("startAccelerationIntegration_with3", startAccelerationIntegration_with3Args); + functions.put("stopAccelerationIntegration", null); + functions.put("isSystemCalibrated", null); + functions.put("isGyroCalibrated", null); + functions.put("isAccelerometerCalibrated", null); + functions.put("isMagnetometerCalibrated", null); + Map saveCalibrationDataArgs = new LinkedHashMap<>(); + saveCalibrationDataArgs.put("FILE_NAME", ToolboxUtil.makeTextShadow("IMUCalibration.json")); + functions.put("saveCalibrationData", saveCalibrationDataArgs); + Map getAngularVelocityArgs = new LinkedHashMap<>(); + getAngularVelocityArgs.put("ANGLE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")); + functions.put("getAngularVelocity", getAngularVelocityArgs); + Map getAngularOrientationArgs = new LinkedHashMap<>(); + getAngularOrientationArgs.put("AXES_REFERENCE", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "axesReference")); + getAngularOrientationArgs.put("AXES_ORDER", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "axesOrder")); + getAngularOrientationArgs.put("ANGLE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")); + functions.put("getAngularOrientation", getAngularOrientationArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addImuCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + String identifier = hardwareItems.get(0).identifier; + Map> initFunctions = new TreeMap<>(); + Map initializeArgs = new LinkedHashMap<>(); + initializeArgs.put("PARAMETERS", ""); + initFunctions.put("initialize", initializeArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, initFunctions, null, null, null); + SortedMap properties = new TreeMap<>(); + properties.put("RobotOrientationAsQuaternion", "Quaternion"); + properties.put("RobotYawPitchRollAngles", "YawPitchRollAngles"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + Map> functions = new TreeMap<>(); + Map getRobotAngularVelocityArgs = new LinkedHashMap<>(); + getRobotAngularVelocityArgs.put("ANGLE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")); + functions.put("getRobotAngularVelocity", getRobotAngularVelocityArgs); + Map getRobotOrientationArgs = new LinkedHashMap<>(); + getRobotOrientationArgs.put("AXES_REFERENCE", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "axesReference", "AXES_REFERENCE", "INTRINSIC")); + getRobotOrientationArgs.put("AXES_ORDER", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "axesOrder", "AXES_ORDER", "ZYX")); + getRobotOrientationArgs.put("ANGLE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")); + functions.put("getRobotOrientation", getRobotOrientationArgs); + functions.put("resetYaw", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/imu_orientation.xml"); + } + } + + private static void addAnalogInputCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Voltage", "Number"); + properties.put("MaxVoltage", "Number"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + } + + private static void addAnalogOutputCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + Map> functions = new TreeMap<>(); + Map setAnalogOutputVoltageArgs = new LinkedHashMap<>(); + setAnalogOutputVoltageArgs.put("VOLTAGE", ToolboxUtil.makeNumberShadow(512)); + functions.put("setAnalogOutputVoltage_Number", setAnalogOutputVoltageArgs); + Map setAnalogOutputFrequencyArgs = new LinkedHashMap<>(); + setAnalogOutputFrequencyArgs.put("FREQUENCY", ToolboxUtil.makeNumberShadow(100)); + functions.put("setAnalogOutputFrequency_Number", setAnalogOutputFrequencyArgs); + Map setAnalogOutputModeArgs = new LinkedHashMap<>(); + setAnalogOutputModeArgs.put("MODE", ToolboxUtil.makeNumberShadow(0)); + functions.put("setAnalogOutputMode_Number", setAnalogOutputModeArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addAndyMarkColorSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + String gain4x = ToolboxUtil.makeTypedEnumShadow(hardwareType, "proximityGain", "PROXIMITY_GAIN", "GAIN_4X"); + String six = ToolboxUtil.makeNumberShadow(6); + String length8us = ToolboxUtil.makeTypedEnumShadow(hardwareType, "proximityPulseLength", "PROXIMITY_PULSE_LENGTH", "LENGTH_8US"); + SortedMap properties = new TreeMap<>(); + properties.put("Alpha", "Number"); + properties.put("Argb", "Number"); + properties.put("Red", "Number"); + properties.put("Green", "Number"); + properties.put("Blue", "Number"); + properties.put("LightDetected", "Number"); + properties.put("I2cAddress7Bit", "Number"); + Map setterValues = new HashMap<>(); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(57)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map getDistanceArgs = new LinkedHashMap<>(); + getDistanceArgs.put("UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistance", getDistanceArgs); + functions.put("getNormalizedColors", null); + Map setProximityGainArgs = new LinkedHashMap<>(); + setProximityGainArgs.put("GAIN", gain4x); + functions.put("setProximityGain", setProximityGainArgs); + Map setProximityLedPulsesArgs = new LinkedHashMap<>(); + setProximityLedPulsesArgs.put("PULSES", six); + functions.put("setProximityLedPulses", setProximityLedPulsesArgs); + Map setProximityLedPulseLengthArgs = new LinkedHashMap<>(); + setProximityLedPulseLengthArgs.put("PULSE_LENGTH", length8us); + functions.put("setProximityLedPulseLength", setProximityLedPulseLengthArgs); + Map configureProximitySettingsArgs = new LinkedHashMap<>(); + configureProximitySettingsArgs.put("GAIN", gain4x); + configureProximitySettingsArgs.put("PULSES", six); + configureProximitySettingsArgs.put("PULSE_LENGTH", length8us); + functions.put("configureProximitySettings", configureProximitySettingsArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addColorSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Red", "Number"); + properties.put("Green", "Number"); + properties.put("Blue", "Number"); + properties.put("Alpha", "Number"); + properties.put("Argb", "Number"); + properties.put("Gain", "Number"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + Map setterValues = new HashMap<>(); + setterValues.put("Gain", new String[]{ToolboxUtil.makeNumberShadow(2)}); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map enableLedArgs = new LinkedHashMap<>(); + enableLedArgs.put("ENABLE", ToolboxUtil.makeBooleanShadow(true)); + functions.put("enableLed_Boolean", enableLedArgs); + functions.put("isLightOn", null); + functions.put("getNormalizedColors", null); + functions.put("toText", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addCompassSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Direction", "Number"); + properties.put("CalibrationFailed", "Boolean"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + Map> functions = new TreeMap<>(); + Map setModeArgs = new LinkedHashMap<>(); + setModeArgs.put("COMPASS_MODE", ToolboxUtil.makeTypedEnumShadow(hardwareType, "compassMode")); + functions.put("setMode_CompassMode", setModeArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addCRServoCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Direction", "Direction"); + properties.put("Power", "Number"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("Direction", ToolboxUtil.makeTypedEnumBlock(hardwareType, "direction")); + Map setterValues = new HashMap<>(); + setterValues.put("Direction", new String[]{ToolboxUtil.makeTypedEnumShadow(hardwareType, "direction")}); + setterValues.put("Power", new String[]{ToolboxUtil.makeNumberShadow(1), ToolboxUtil.makeNumberShadow(0)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + Map> functions = new TreeMap<>(); + functions.put("setPwmEnable", null); + functions.put("setPwmDisable", null); + functions.put("isPwmEnabled", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addDcMotorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String str; + Map> functions; + String str2; + String five; + String identifier; + String str3; + SortedMap properties; + String zero; + String identifier2 = hardwareItems.get(0).identifier; + String zero2 = ToolboxUtil.makeNumberShadow(0); + String one = ToolboxUtil.makeNumberShadow(1); + String five2 = ToolboxUtil.makeNumberShadow(5); + String ten = ToolboxUtil.makeNumberShadow(10); + String runMode = ToolboxUtil.makeTypedEnumShadow(hardwareType, "runMode"); + String zeroPowerBehavior = ToolboxUtil.makeTypedEnumShadow(hardwareType, "zeroPowerBehavior"); + String direction = ToolboxUtil.makeTypedEnumShadow(hardwareType, "direction"); + String angleUnit = ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit"); + String currentUnit = ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "currentUnit"); + String runModeRunUsingEncoder = ToolboxUtil.makeTypedEnumShadow(hardwareType, "runMode", "RUN_MODE", "RUN_USING_ENCODER"); + SortedMap properties2 = new TreeMap<>(); + properties2.put("CurrentPosition", "Number"); + properties2.put("Direction", "Direction"); + properties2.put("Mode", "RunMode"); + properties2.put("Power", "Number"); + properties2.put("PowerFloat", "Boolean"); + properties2.put("TargetPosition", "Number"); + properties2.put("ZeroPowerBehavior", "ZeroPowerBehavior"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("Direction", ToolboxUtil.makeTypedEnumBlock(hardwareType, "direction")); + enumBlocks.put("Mode", ToolboxUtil.makeTypedEnumBlock(hardwareType, "runMode")); + enumBlocks.put("ZeroPowerBehavior", ToolboxUtil.makeTypedEnumBlock(hardwareType, "zeroPowerBehavior")); + Map setterValues = new HashMap<>(); + setterValues.put("Direction", new String[]{direction}); + setterValues.put("Mode", new String[]{runMode}); + setterValues.put("Power", new String[]{one, zero2}); + setterValues.put("TargetPosition", new String[]{zero2}); + setterValues.put("ZeroPowerBehavior", new String[]{zeroPowerBehavior}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier2, properties2, setterValues, enumBlocks); + Map> functions2 = new TreeMap<>(); + functions2.put("isBusy", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier2, functions2); + functions2.clear(); + if (hardwareItems.size() <= 1) { + str = " \n"; + functions = functions2; + str2 = "RUN_MODE"; + five = five2; + identifier = ten; + str3 = " \n"; + properties = properties2; + } else { + String identifier1 = hardwareItems.get(0).identifier; + String identifier22 = hardwareItems.get(1).identifier; + xmlToolbox.append(" \n"); + str = " \n"; + str3 = " \n"; + functions = functions2; + str2 = "RUN_MODE"; + identifier = ten; + five = five2; + properties = properties2; + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "Power", "Number", identifier1, one, identifier22, one); + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "Power", "Number", identifier1, zero2, identifier22, zero2); + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "Mode", "RunMode", identifier1, runMode, identifier22, runMode); + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "TargetPosition", "Number", identifier1, zero2, identifier22, zero2); + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "ZeroPowerBehavior", "ZeroPowerBehavior", identifier1, zeroPowerBehavior, identifier22, zeroPowerBehavior); + xmlToolbox.append(str); + } + List hardwareItemsForDcMotorEx = getHardwareItemsForDcMotorEx(hardwareItems); + if (!hardwareItemsForDcMotorEx.isEmpty()) { + String identifierForDcMotorEx = hardwareItemsForDcMotorEx.get(0).identifier; + xmlToolbox.append(" \n"); + properties.clear(); + SortedMap properties3 = properties; + properties3.put("TargetPositionTolerance", "Number"); + properties3.put("Velocity", "Number"); + setterValues.clear(); + setterValues.put("TargetPositionTolerance", new String[]{identifier}); + setterValues.put("Velocity", new String[]{identifier}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifierForDcMotorEx, properties3, setterValues, null); + if (hardwareItemsForDcMotorEx.size() > 1) { + String identifier1ForDcMotorEx = hardwareItemsForDcMotorEx.get(0).identifier; + String identifier2ForDcMotorEx = hardwareItemsForDcMotorEx.get(1).identifier; + xmlToolbox.append(str3); + String identifier1ForDcMotorEx2 = identifier; + zero = identifierForDcMotorEx; + String str4 = identifier; + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "TargetPositionTolerance", "Number", identifier1ForDcMotorEx, identifier1ForDcMotorEx2, identifier2ForDcMotorEx, str4); + ToolboxUtil.addDualPropertySetters(xmlToolbox, hardwareType, "Velocity", "Number", identifier1ForDcMotorEx, identifier1ForDcMotorEx2, identifier2ForDcMotorEx, str4); + xmlToolbox.append(str); + } else { + zero = identifierForDcMotorEx; + } + Map> functions3 = new LinkedHashMap<>(); + functions3.put("setMotorEnable", null); + functions3.put("setMotorDisable", null); + functions3.put("isMotorEnabled", null); + Map setVelocity_withAngleUnitArgs = new LinkedHashMap<>(); + setVelocity_withAngleUnitArgs.put("ANGULAR_RATE", identifier); + setVelocity_withAngleUnitArgs.put("ANGLE_UNIT", angleUnit); + functions3.put("setVelocity_withAngleUnit", setVelocity_withAngleUnitArgs); + Map getVelocity_withAngleUnitArgs = new LinkedHashMap<>(); + getVelocity_withAngleUnitArgs.put("ANGLE_UNIT", angleUnit); + functions3.put("getVelocity_withAngleUnit", getVelocity_withAngleUnitArgs); + Map setVelocityPIDFCoefficientsArgs = new LinkedHashMap<>(); + setVelocityPIDFCoefficientsArgs.put("P", ToolboxUtil.makeNumberShadow(10)); + setVelocityPIDFCoefficientsArgs.put("I", ToolboxUtil.makeNumberShadow(10)); + setVelocityPIDFCoefficientsArgs.put("D", ToolboxUtil.makeNumberShadow(10)); + setVelocityPIDFCoefficientsArgs.put("F", ToolboxUtil.makeNumberShadow(10)); + functions3.put("setVelocityPIDFCoefficients", setVelocityPIDFCoefficientsArgs); + Map setPositionPIDFCoefficientsArgs = new LinkedHashMap<>(); + setPositionPIDFCoefficientsArgs.put("P", ToolboxUtil.makeNumberShadow(5)); + functions3.put("setPositionPIDFCoefficients", setPositionPIDFCoefficientsArgs); + Map setPIDFCoefficientsArgs = new LinkedHashMap<>(); + setPIDFCoefficientsArgs.put(str2, runModeRunUsingEncoder); + setPIDFCoefficientsArgs.put("PIDF_COEFFICIENTS", ToolboxUtil.makeVariableGetBlock("pidfCoefficients")); + functions3.put("setPIDFCoefficients", setPIDFCoefficientsArgs); + Map getPIDFCoefficientsArgs = new LinkedHashMap<>(); + getPIDFCoefficientsArgs.put(str2, runModeRunUsingEncoder); + functions3.put("getPIDFCoefficients", getPIDFCoefficientsArgs); + Map getCurrentArgs = new LinkedHashMap<>(); + getCurrentArgs.put("CURRENT_UNIT", currentUnit); + functions3.put("getCurrent", getCurrentArgs); + Map setCurrentAlertArgs = new LinkedHashMap<>(); + setCurrentAlertArgs.put("CURRENT", five); + setCurrentAlertArgs.put("CURRENT_UNIT", currentUnit); + functions3.put("setCurrentAlert", setCurrentAlertArgs); + Map getCurrentAlertArgs = new LinkedHashMap<>(); + getCurrentAlertArgs.put("CURRENT_UNIT", currentUnit); + functions3.put("getCurrentAlert", getCurrentAlertArgs); + functions3.put("isOverCurrent", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, zero, functions3); + xmlToolbox.append(str); + } + } + + private static void addDigitalChannelCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + String mode = ToolboxUtil.makeTypedEnumShadow(hardwareType, "mode"); + SortedMap properties = new TreeMap<>(); + properties.put("Mode", "DigitalChannelMode"); + properties.put("State", "Boolean"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("Mode", ToolboxUtil.makeTypedEnumBlock(hardwareType, "mode")); + Map setterValues = new HashMap<>(); + setterValues.put("Mode", new String[]{mode}); + setterValues.put("State", new String[]{ToolboxUtil.makeBooleanShadow(true)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + } + + private static void addDistanceSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + HardwareItem hardwareItem = hardwareItems.get(0); + String identifier = hardwareItem.identifier; + Map> functions = new TreeMap<>(); + Map getDistanceArgs = new LinkedHashMap<>(); + getDistanceArgs.put("DISTANCE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistance", getDistanceArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addGoBildaPinpointCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + String zero = ToolboxUtil.makeNumberShadow(0); + String encoderDirection = ToolboxUtil.makeTypedEnumShadow(hardwareType, "encoderDirection"); + String readData = ToolboxUtil.makeTypedEnumShadow(hardwareType, "readData"); + String goBildaOdometryPods = ToolboxUtil.makeTypedEnumShadow(hardwareType, "goBildaOdometryPods"); + String distanceUnit = ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit"); + String mm = ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit", "DISTANCE_UNIT", "MM"); + String angleUnit = ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit"); + String unnormalizedAngleUnit = ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "unnormalizedAngleUnit"); + SortedMap properties = new TreeMap<>(); + properties.put("YawScalar", "Number"); + properties.put("DeviceID", "Number"); + properties.put("DeviceVersion", "Number"); + properties.put("LoopTime", "Number"); + properties.put("EncoderX", "Number"); + properties.put("EncoderY", "Number"); + properties.put("Frequency", "Number"); + properties.put("DeviceStatus", "DeviceStatus"); + properties.put("Position", "Pose2D"); + Map setterValues = new HashMap<>(); + setterValues.put("YawScalar", new String[]{zero}); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("DeviceStatus", ToolboxUtil.makeTypedEnumBlock(hardwareType, "deviceStatus", "DEVICE_STATUS", "READY")); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + Map> functions = new TreeMap<>(); + functions.put("update", null); + Map update_withReadDataArgs = new LinkedHashMap<>(); + update_withReadDataArgs.put("READ_DATA", readData); + functions.put("update_withReadData", update_withReadDataArgs); + Map setOffsetsArgs = new LinkedHashMap<>(); + setOffsetsArgs.put("X_OFFSET", ToolboxUtil.makeNumberShadow(-104.0d)); + setOffsetsArgs.put("Y_OFFSET", ToolboxUtil.makeNumberShadow(-168.0d)); + setOffsetsArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("setOffsets", setOffsetsArgs); + functions.put("recalibrateIMU", null); + functions.put("resetPosAndIMU", null); + Map setEncoderDirectionsArgs = new LinkedHashMap<>(); + setEncoderDirectionsArgs.put("X_ENCODER", encoderDirection); + setEncoderDirectionsArgs.put("Y_ENCODER", encoderDirection); + functions.put("setEncoderDirections", setEncoderDirectionsArgs); + Map setEncoderResolution_withPodsArgs = new LinkedHashMap<>(); + setEncoderResolution_withPodsArgs.put("PODS", goBildaOdometryPods); + functions.put("setEncoderResolution_withPods", setEncoderResolution_withPodsArgs); + Map setEncoderResolution_withTicksArgs = new LinkedHashMap<>(); + setEncoderResolution_withTicksArgs.put("TICKS_PER_UNIT", ToolboxUtil.makeNumberShadow(13.26291192d)); + setEncoderResolution_withTicksArgs.put("DISTANCE_UNIT", mm); + functions.put("setEncoderResolution_withTicks", setEncoderResolution_withTicksArgs); + Map setPositionArgs = new LinkedHashMap<>(); + setPositionArgs.put("POSITION", ToolboxUtil.makeVariableGetBlock("myPose2D")); + functions.put("setPosition", setPositionArgs); + Map setPosXArgs = new LinkedHashMap<>(); + setPosXArgs.put("POS_X", zero); + setPosXArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("setPosX", setPosXArgs); + Map setPosYArgs = new LinkedHashMap<>(); + setPosYArgs.put("POS_Y", zero); + setPosYArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("setPosY", setPosYArgs); + Map setHeadingArgs = new LinkedHashMap<>(); + setHeadingArgs.put("HEADING", zero); + setHeadingArgs.put("ANGLE_UNIT", angleUnit); + functions.put("setHeading", setHeadingArgs); + Map getPosXArgs = new LinkedHashMap<>(); + getPosXArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("getPosX", getPosXArgs); + Map getPosYArgs = new LinkedHashMap<>(); + getPosYArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("getPosY", getPosYArgs); + Map getHeading_withAngleUnitArgs = new LinkedHashMap<>(); + getHeading_withAngleUnitArgs.put("ANGLE_UNIT", angleUnit); + functions.put("getHeading_withAngleUnit", getHeading_withAngleUnitArgs); + Map getHeading_withUnnormalizedAngleUnitArgs = new LinkedHashMap<>(); + getHeading_withUnnormalizedAngleUnitArgs.put("UNNORMALIZED_ANGLE_UNIT", unnormalizedAngleUnit); + functions.put("getHeading_withUnnormalizedAngleUnit", getHeading_withUnnormalizedAngleUnitArgs); + Map getVelXArgs = new LinkedHashMap<>(); + getVelXArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("getVelX", getVelXArgs); + Map getVelYArgs = new LinkedHashMap<>(); + getVelYArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("getVelY", getVelYArgs); + Map getHeadingVelocity_withUnnormalizedAngleUnitArgs = new LinkedHashMap<>(); + getHeadingVelocity_withUnnormalizedAngleUnitArgs.put("UNNORMALIZED_ANGLE_UNIT", unnormalizedAngleUnit); + functions.put("getHeadingVelocity_withUnnormalizedAngleUnit", getHeadingVelocity_withUnnormalizedAngleUnitArgs); + Map getXOffsetArgs = new LinkedHashMap<>(); + getXOffsetArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("getXOffset", getXOffsetArgs); + Map getYOffsetArgs = new LinkedHashMap<>(); + getYOffsetArgs.put("DISTANCE_UNIT", distanceUnit); + functions.put("getYOffset", getYOffsetArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addGyroSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + String headingMode = ToolboxUtil.makeTypedEnumShadow(hardwareType, "headingMode"); + SortedMap properties = new TreeMap<>(); + properties.put("Heading", "Number"); + properties.put("HeadingMode", "HeadingMode"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + properties.put("IntegratedZValue", "Number"); + properties.put("RawX", "Number"); + properties.put("RawY", "Number"); + properties.put("RawZ", "Number"); + properties.put("RotationFraction", "Number"); + properties.put("AngularVelocityAxes", "Array"); + properties.put("AngularOrientationAxes", "Array"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("HeadingMode", ToolboxUtil.makeTypedEnumBlock(hardwareType, "headingMode")); + Map setterValues = new HashMap<>(); + setterValues.put("HeadingMode", new String[]{headingMode}); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + Map> functions = new TreeMap<>(); + functions.put("calibrate", null); + functions.put("isCalibrating", null); + functions.put("resetZAxisIntegrator", null); + Map getAngularVelocityArgs = new LinkedHashMap<>(); + getAngularVelocityArgs.put("ANGLE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")); + functions.put("getAngularVelocity", getAngularVelocityArgs); + Map getAngularOrientationArgs = new LinkedHashMap<>(); + getAngularOrientationArgs.put("AXES_REFERENCE", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "axesReference")); + getAngularOrientationArgs.put("AXES_ORDER", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "axesOrder")); + getAngularOrientationArgs.put("ANGLE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")); + functions.put("getAngularOrientation", getAngularOrientationArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addHuskyLensCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + String identifier = hardwareItems.get(0).identifier; + Map> functions = new LinkedHashMap<>(); + Map variableSetters = new HashMap<>(); + functions.put("knock", null); + Map selectAlgorithmArgs = new LinkedHashMap<>(); + selectAlgorithmArgs.put("ALGORITHM", ToolboxUtil.makeTypedEnumShadow(hardwareType, "algorithm", "ALGORITHM", "TAG_RECOGNITION")); + functions.put("selectAlgorithm", selectAlgorithmArgs); + functions.put("blocks", null); + variableSetters.put("blocks", "myHuskyLensBlocks"); + Map blocks_withIdArgs = new LinkedHashMap<>(); + blocks_withIdArgs.put("ID", ToolboxUtil.makeNumberShadow(1)); + functions.put("blocks_withId", blocks_withIdArgs); + variableSetters.put("blocks_withId", "myHuskyLensBlocks"); + functions.put("arrows", null); + variableSetters.put("arrows", "myHuskyLensArrows"); + Map arrows_withIdArgs = new LinkedHashMap<>(); + arrows_withIdArgs.put("ID", ToolboxUtil.makeNumberShadow(1)); + functions.put("arrows_withId", arrows_withIdArgs); + variableSetters.put("arrows_withId", "myHuskyLensArrows"); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions, null, variableSetters, null); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/husky_lens_block.xml"); + addAsset(xmlToolbox, assetManager, "toolbox/husky_lens_arrow.xml"); + } + } + + private static void addIrSeekerSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + String mode = ToolboxUtil.makeTypedEnumShadow(hardwareType, "mode"); + String threshold = ToolboxUtil.makeNumberShadow(0.003d); + SortedMap properties = new TreeMap<>(); + properties.put("SignalDetectedThreshold", "Number"); + properties.put("Mode", "IrSeekerSensorMode"); + properties.put("IsSignalDetected", "Boolean"); + properties.put("Angle", "Number"); + properties.put("Strength", "Number"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("Mode", ToolboxUtil.makeTypedEnumBlock(hardwareType, "mode")); + Map setterValues = new HashMap<>(); + setterValues.put("SignalDetectedThreshold", new String[]{threshold}); + setterValues.put("Mode", new String[]{mode}); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + } + + private static void addLedCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + Map> functions = new TreeMap<>(); + Map enableLedArgs = new LinkedHashMap<>(); + enableLedArgs.put("ENABLE", ToolboxUtil.makeBooleanShadow(true)); + functions.put("enableLed_Boolean", enableLedArgs); + functions.put("isLightOn", null); + functions.put("on", null); + functions.put("off", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addLimelight3ACategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + String identifier = hardwareItems.get(0).identifier; + Map> functions = new TreeMap<>(); + functions.put("start", null); + functions.put("pause", null); + functions.put("stop", null); + functions.put("isRunning", null); + Map setPollRateHzArgs = new LinkedHashMap<>(); + setPollRateHzArgs.put("RATE_HZ", ToolboxUtil.makeNumberShadow(100)); + functions.put("setPollRateHz", setPollRateHzArgs); + functions.put("getTimeSinceLastUpdate", null); + functions.put("isConnected", null); + functions.put("getLatestResult", null); + functions.put("getStatus", null); + functions.put("reloadPipeline", null); + Map pipelineSwitchArgs = new LinkedHashMap<>(); + pipelineSwitchArgs.put("INDEX", ToolboxUtil.makeNumberShadow(0)); + functions.put("pipelineSwitch", pipelineSwitchArgs); + Map updatePythonInputs_with8DoublesArgs = new LinkedHashMap<>(); + updatePythonInputs_with8DoublesArgs.put("INPUT1", ToolboxUtil.makeNumberShadow(1)); + updatePythonInputs_with8DoublesArgs.put("INPUT2", ToolboxUtil.makeNumberShadow(2)); + updatePythonInputs_with8DoublesArgs.put("INPUT3", ToolboxUtil.makeNumberShadow(3)); + updatePythonInputs_with8DoublesArgs.put("INPUT4", ToolboxUtil.makeNumberShadow(4)); + updatePythonInputs_with8DoublesArgs.put("INPUT5", ToolboxUtil.makeNumberShadow(5)); + updatePythonInputs_with8DoublesArgs.put("INPUT6", ToolboxUtil.makeNumberShadow(6)); + updatePythonInputs_with8DoublesArgs.put("INPUT7", ToolboxUtil.makeNumberShadow(7)); + updatePythonInputs_with8DoublesArgs.put("INPUT8", ToolboxUtil.makeNumberShadow(8)); + functions.put("updatePythonInputs_with8Doubles", updatePythonInputs_with8DoublesArgs); + Map updatePythonInputs_withArray = new LinkedHashMap<>(); + updatePythonInputs_withArray.put("INPUTS", ToolboxUtil.makeVariableGetBlock("pythonInputs")); + functions.put("updatePythonInputs_withArray", updatePythonInputs_withArray); + Map updateRobotOrientationArgs = new LinkedHashMap<>(); + updateRobotOrientationArgs.put("YAW", ToolboxUtil.makeNumberShadow(45)); + functions.put("updateRobotOrientation", updateRobotOrientationArgs); + functions.put("shutdown", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/limelight.xml"); + } + } + + private static void addLightSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("LightDetected", "Number"); + properties.put("RawLightDetected", "Number"); + properties.put("RawLightDetectedMax", "Number"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + Map> functions = new TreeMap<>(); + Map enableLedArgs = new LinkedHashMap<>(); + enableLedArgs.put("ENABLE", ToolboxUtil.makeBooleanShadow(true)); + functions.put("enableLed_Boolean", enableLedArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addColorRangeSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Red", "Number"); + properties.put("Green", "Number"); + properties.put("Blue", "Number"); + properties.put("Alpha", "Number"); + properties.put("Argb", "Number"); + properties.put("Gain", "Number"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + properties.put("LightDetected", "Number"); + properties.put("RawLightDetected", "Number"); + properties.put("RawLightDetectedMax", "Number"); + Map setterValues = new HashMap<>(); + setterValues.put("Gain", new String[]{ToolboxUtil.makeNumberShadow(2)}); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map getDistanceArgs = new LinkedHashMap<>(); + getDistanceArgs.put("UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistance_Number", getDistanceArgs); + functions.put("getNormalizedColors", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addMaxSonarI2CXLCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + Map setterValues = new HashMap<>(); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map getDistanceSyncArgs = new LinkedHashMap<>(); + getDistanceSyncArgs.put("DISTANCE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistanceSync", getDistanceSyncArgs); + Map getDistanceSync_withDelayArgs = new LinkedHashMap<>(); + getDistanceSync_withDelayArgs.put("DELAY", ToolboxUtil.makeNumberShadow(50)); + getDistanceSync_withDelayArgs.put("DISTANCE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistanceSync_withDelay", getDistanceSync_withDelayArgs); + Map getDistanceAsyncArgs = new LinkedHashMap<>(); + getDistanceAsyncArgs.put("DISTANCE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistanceAsync", getDistanceAsyncArgs); + Map getDistanceAsync_withDelayArgs = new LinkedHashMap<>(); + getDistanceAsync_withDelayArgs.put("DELAY", ToolboxUtil.makeNumberShadow(50)); + getDistanceAsync_withDelayArgs.put("DISTANCE_UNIT", ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")); + functions.put("getDistanceAsync_withDelay", getDistanceAsync_withDelayArgs); + Map writeI2cAddrToSensorEEPROMArgs = new LinkedHashMap<>(); + writeI2cAddrToSensorEEPROMArgs.put("ADDRESS", ToolboxUtil.makeNumberShadow(20)); + functions.put("writeI2cAddrToSensorEEPROM", writeI2cAddrToSensorEEPROMArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addMrI2cCompassSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Direction", "Number"); + properties.put("XAccel", "Number"); + properties.put("YAccel", "Number"); + properties.put("ZAccel", "Number"); + properties.put("XMagneticFlux", "Number"); + properties.put("YMagneticFlux", "Number"); + properties.put("ZMagneticFlux", "Number"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + Map setterValues = new HashMap<>(); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map setModeArgs = new LinkedHashMap<>(); + setModeArgs.put("COMPASS_MODE", ToolboxUtil.makeTypedEnumShadow(hardwareType, "compassMode")); + functions.put("setMode_CompassMode", setModeArgs); + functions.put("isCalibrating", null); + functions.put("calibrationFailed", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addMrI2cRangeSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("LightDetected", "Number"); + properties.put("RawLightDetected", "Number"); + properties.put("RawLightDetectedMax", "Number"); + properties.put("RawUltrasonic", "Number"); + properties.put("RawOptical", "Number"); + properties.put("CmUltrasonic", "Number"); + properties.put("CmOptical", "Number"); + properties.put("I2cAddress7Bit", "Number"); + properties.put("I2cAddress8Bit", "Number"); + Map setterValues = new HashMap<>(); + setterValues.put("I2cAddress7Bit", new String[]{ToolboxUtil.makeNumberShadow(8)}); + setterValues.put("I2cAddress8Bit", new String[]{ToolboxUtil.makeNumberShadow(16)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map getDistanceArgs = new LinkedHashMap<>(); + getDistanceArgs.put("UNIT", ToolboxUtil.makeTypedEnumShadow(hardwareType, "distanceUnit")); + functions.put("getDistance_Number", getDistanceArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addOctoQuadCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + String identifier = hardwareItems.get(0).identifier; + String channelBankConfig = ToolboxUtil.makeTypedEnumShadow(hardwareType, "channelBankConfig"); + String i2cRecoveryMode = ToolboxUtil.makeTypedEnumShadow(hardwareType, "i2cRecoveryMode"); + String zero = ToolboxUtil.makeNumberShadow(0); + String one = ToolboxUtil.makeNumberShadow(1); + String ticks = ToolboxUtil.makeNumberShadow(2.9917d); + String offset = ToolboxUtil.makeNumberShadow(1.2345d); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/octoquad.xml"); + } + SortedMap properties = new TreeMap<>(); + Map enumBlocks = new HashMap<>(); + Map setterValues = new HashMap<>(); + properties.put("ChipId", "Number"); + properties.put("FirmwareVersionString", "String"); + properties.put("ChannelBankConfig", "ChannelBankConfig"); + enumBlocks.put("ChannelBankConfig", ToolboxUtil.makeTypedEnumBlock(hardwareType, "channelBankConfig")); + properties.put("I2cRecoveryMode", "I2cRecoveryMode"); + enumBlocks.put("I2cRecoveryMode", ToolboxUtil.makeTypedEnumBlock(hardwareType, "i2cRecoveryMode")); + properties.put("LocalizerHeadingAxisChoice", "LocalizerYawAxis"); + enumBlocks.put("LocalizerHeadingAxisChoice", ToolboxUtil.makeTypedEnumBlock(hardwareType, "localizerYawAxis", "LOCALIZER_YAW_AXIS", "X")); + properties.put("LocalizerStatus", "LocalizerStatus"); + enumBlocks.put("LocalizerStatus", ToolboxUtil.makeTypedEnumBlock(hardwareType, "localizerStatus", "LOCALIZER_STATUS", "RUNNING")); + setterValues.put("ChannelBankConfig", new String[]{channelBankConfig}); + setterValues.put("I2cRecoveryMode", new String[]{i2cRecoveryMode}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + enumBlocks.clear(); + Map> functions = new TreeMap<>(); + Map variableSetters = new HashMap<>(); + functions.put("resetAllPositions", null); + Map resetSinglePositionArgs = new LinkedHashMap<>(); + resetSinglePositionArgs.put("INDEX", zero); + functions.put("resetSinglePosition", resetSinglePositionArgs); + Map setSingleEncoderDirectionArgs = new LinkedHashMap<>(); + setSingleEncoderDirectionArgs.put("INDEX", zero); + String i2cRecoveryMode2 = ToolboxUtil.makeTypedEnumShadow(hardwareType, "encoderDirection"); + setSingleEncoderDirectionArgs.put("DIRECTION", i2cRecoveryMode2); + functions.put("setSingleEncoderDirection", setSingleEncoderDirectionArgs); + Map getSingleEncoderDirectionArgs = new LinkedHashMap<>(); + getSingleEncoderDirectionArgs.put("INDEX", zero); + enumBlocks.put("getSingleEncoderDirection", ToolboxUtil.makeTypedEnumBlock(hardwareType, "encoderDirection")); + functions.put("getSingleEncoderDirection", getSingleEncoderDirectionArgs); + Map setAllVelocitySampleIntervalsArgs = new LinkedHashMap<>(); + setAllVelocitySampleIntervalsArgs.put("INTERVAL_MS", ToolboxUtil.makeNumberShadow(24)); + functions.put("setAllVelocitySampleIntervals", setAllVelocitySampleIntervalsArgs); + Map setSingleVelocitySampleIntervalArgs = new LinkedHashMap<>(); + setSingleVelocitySampleIntervalArgs.put("INDEX", zero); + setSingleVelocitySampleIntervalArgs.put("INTERVAL_MS", ToolboxUtil.makeNumberShadow(25)); + functions.put("setSingleVelocitySampleInterval", setSingleVelocitySampleIntervalArgs); + Map getSingleVelocitySampleIntervalArgs = new LinkedHashMap<>(); + getSingleVelocitySampleIntervalArgs.put("INDEX", zero); + functions.put("getSingleVelocitySampleInterval", getSingleVelocitySampleIntervalArgs); + Map setSingleChannelPulseWidthParamsArgs = new LinkedHashMap<>(); + setSingleChannelPulseWidthParamsArgs.put("INDEX", zero); + setSingleChannelPulseWidthParamsArgs.put("MIN_WIDTH_US", ToolboxUtil.makeNumberShadow(1)); + setSingleChannelPulseWidthParamsArgs.put("MAX_WIDTH_US", ToolboxUtil.makeNumberShadow(1024)); + functions.put("setSingleChannelPulseWidthParams", setSingleChannelPulseWidthParamsArgs); + functions.put("resetEverything", null); + functions.put("saveParametersToFlash", null); + Map setCachingModeArgs = new LinkedHashMap<>(); + setCachingModeArgs.put("MODE", ToolboxUtil.makeTypedEnumShadow(hardwareType, "cachingMode", "CACHING_MODE", "AUTO")); + functions.put("setCachingMode", setCachingModeArgs); + functions.put("refreshCache", null); + Map readSinglePosition_CachingArgs = new LinkedHashMap<>(); + readSinglePosition_CachingArgs.put("INDEX", zero); + functions.put("readSinglePosition_Caching", readSinglePosition_CachingArgs); + Map readSingleVelocity_CachingArgs = new LinkedHashMap<>(); + readSingleVelocity_CachingArgs.put("INDEX", zero); + functions.put("readSingleVelocity_Caching", readSingleVelocity_CachingArgs); + Map setSingleChannelPulseWidthTracksWrapArgs = new LinkedHashMap<>(); + setSingleChannelPulseWidthTracksWrapArgs.put("INDEX", zero); + setSingleChannelPulseWidthTracksWrapArgs.put("TRACK_WRAP", ToolboxUtil.makeBooleanShadow(true)); + functions.put("setSingleChannelPulseWidthTracksWrap", setSingleChannelPulseWidthTracksWrapArgs); + Map getSingleChannelPulseWidthTracksWrapArgs = new LinkedHashMap<>(); + getSingleChannelPulseWidthTracksWrapArgs.put("INDEX", zero); + functions.put("getSingleChannelPulseWidthTracksWrap", getSingleChannelPulseWidthTracksWrapArgs); + Map setAllLocalizerParametersArgs = new LinkedHashMap<>(); + setAllLocalizerParametersArgs.put("PORT_X", zero); + setAllLocalizerParametersArgs.put("PORT_Y", zero); + setAllLocalizerParametersArgs.put("TICKS_PER_MM_X", ticks); + setAllLocalizerParametersArgs.put("TICKS_PER_MM_Y", ticks); + setAllLocalizerParametersArgs.put("TCP_OFFSET_MM_X", offset); + setAllLocalizerParametersArgs.put("TCP_OFFSET_MM_Y", offset); + setAllLocalizerParametersArgs.put("HEADING_SCALAR", one); + setAllLocalizerParametersArgs.put("VELOCITY_INTERVAL_MS", ToolboxUtil.makeNumberShadow(128)); + functions.put("setAllLocalizerParameters", setAllLocalizerParametersArgs); + functions.put("readLocalizerData", null); + variableSetters.put("readLocalizerData", "myLocalizerDataBlock"); + Map setLocalizerPoseArgs = new LinkedHashMap<>(); + setLocalizerPoseArgs.put("POS_X_MM", zero); + setLocalizerPoseArgs.put("POS_Y_MM", zero); + setLocalizerPoseArgs.put("HEADING_RAD", one); + functions.put("setLocalizerPose", setLocalizerPoseArgs); + Map setLocalizerHeadingArgs = new LinkedHashMap<>(); + setLocalizerHeadingArgs.put("HEADING_RAD", one); + functions.put("setLocalizerHeading", setLocalizerHeadingArgs); + functions.put("resetLocalizerAndCalibrateIMU", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions, null, variableSetters, enumBlocks); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/octoquad_localizer_data_block.xml"); + } + } + + private static void addOpticalDistanceSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("LightDetected", "Number"); + properties.put("RawLightDetected", "Number"); + properties.put("RawLightDetectedMax", "Number"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + Map> functions = new TreeMap<>(); + Map enableLedArgs = new LinkedHashMap<>(); + enableLedArgs.put("ENABLE", ToolboxUtil.makeBooleanShadow(true)); + functions.put("enableLed_Boolean", enableLedArgs); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addRevBlinkinLedDriverCategoryToToolbox(StringBuilder xmlToolbox, AssetManager assetManager) throws IOException { + addAsset(xmlToolbox, assetManager, "toolbox/rev_blinkin_led_driver.xml"); + } + + private static void addServoCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Direction", "Direction"); + properties.put("Position", "Number"); + Map enumBlocks = new HashMap<>(); + enumBlocks.put("Direction", ToolboxUtil.makeTypedEnumBlock(hardwareType, "direction")); + Map setterValues = new HashMap<>(); + setterValues.put("Direction", new String[]{ToolboxUtil.makeTypedEnumShadow(hardwareType, "direction")}); + setterValues.put("Position", new String[]{ToolboxUtil.makeNumberShadow(0)}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, enumBlocks); + Map> functions = new TreeMap<>(); + Map scaleRangeArgs = new LinkedHashMap<>(); + scaleRangeArgs.put("MIN", ToolboxUtil.makeNumberShadow(0.2d)); + scaleRangeArgs.put("MAX", ToolboxUtil.makeNumberShadow(0.8d)); + functions.put("scaleRange_Number", scaleRangeArgs); + functions.put("setPwmEnable", null); + functions.put("setPwmDisable", null); + functions.put("isPwmEnabled", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addServoControllerCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("PwmStatus", "PwmStatus"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + Map> functions = new TreeMap<>(); + functions.put("pwmEnable", null); + functions.put("pwmDisable", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addSparkFunLEDStickCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + String identifier = hardwareItems.get(0).identifier; + ToolboxUtil.makeNumberShadow(0); + String one = ToolboxUtil.makeNumberShadow(1); + String twenty = ToolboxUtil.makeNumberShadow(20); + Map> functions = new TreeMap<>(); + Map setColor_withPositionArgs = new LinkedHashMap<>(); + setColor_withPositionArgs.put("POSITION", one); + setColor_withPositionArgs.put("COLOR", "BLUE\n"); + functions.put("setColor_withPosition", setColor_withPositionArgs); + Map setColorArgs = new LinkedHashMap<>(); + setColorArgs.put("COLOR", "BLUE\n"); + functions.put("setColor", setColorArgs); + Map setColorsArgs = new LinkedHashMap<>(); + setColorsArgs.put("COLORS", ToolboxUtil.makeVariableGetBlock("ledColors")); + functions.put("setColors", setColorsArgs); + Map setBrightness_withPositionArgs = new LinkedHashMap<>(); + setBrightness_withPositionArgs.put("POSITION", one); + setBrightness_withPositionArgs.put("BRIGHTNESS", twenty); + functions.put("setBrightness_withPosition", setBrightness_withPositionArgs); + Map setBrightnessArgs = new LinkedHashMap<>(); + setBrightnessArgs.put("BRIGHTNESS", twenty); + functions.put("setBrightness", setBrightnessArgs); + functions.put("turnAllOff", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addSparkFunOTOSCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems, AssetManager assetManager) throws IOException { + String identifier = hardwareItems.get(0).identifier; + String one = ToolboxUtil.makeNumberShadow(1); + if (assetManager != null) { + addAsset(xmlToolbox, assetManager, "toolbox/sparkfun_otos.xml"); + } + SortedMap properties = new TreeMap<>(); + properties.put("Status", "Status"); + properties.put("Offset", "Pose2D"); + properties.put("Position", "Pose2D"); + properties.put("Acceleration", "Pose2D"); + properties.put("Velocity", "Pose2D"); + properties.put("PositionStdDev", "Pose2D"); + properties.put("AccelerationStdDev", "Pose2D"); + properties.put("VelocityStdDev", "Pose2D"); + properties.put("SignalProcessConfig", "SignalProcessConfig"); + properties.put("ImuCalibrationProgress", "Number"); + properties.put("LinearUnit", "DistanceUnit"); + properties.put("LinearScalar", "Number_ReturnBoolean"); + properties.put("AngularScalar", "Number_ReturnBoolean"); + properties.put("AngularUnit", "AngleUnit"); + Map setterValues = new HashMap<>(); + setterValues.put("Offset", new String[]{ToolboxUtil.makeVariableGetBlock("myPose")}); + setterValues.put("Position", new String[]{ToolboxUtil.makeVariableGetBlock("myPose")}); + setterValues.put("SignalProcessConfig", new String[]{ToolboxUtil.makeVariableGetBlock("mySignalProcessConfig")}); + setterValues.put("LinearScalar", new String[]{one}); + setterValues.put("LinearUnit", new String[]{ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "distanceUnit")}); + setterValues.put("AngularScalar", new String[]{one}); + setterValues.put("AngularUnit", new String[]{ToolboxUtil.makeTypedEnumShadow(NotificationCompat.CATEGORY_NAVIGATION, "angleUnit")}); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, setterValues, null); + Map> functions = new TreeMap<>(); + Map getPosVelAccArgs = new LinkedHashMap<>(); + getPosVelAccArgs.put("POS", ToolboxUtil.makeVariableGetBlock("pos")); + getPosVelAccArgs.put("VEL", ToolboxUtil.makeVariableGetBlock("vel")); + getPosVelAccArgs.put("ACC", ToolboxUtil.makeVariableGetBlock("acc")); + functions.put("getPosVelAcc", getPosVelAccArgs); + Map getPosVelAccStdDevArgs = new LinkedHashMap<>(); + getPosVelAccStdDevArgs.put("POS_STD_DEV", ToolboxUtil.makeVariableGetBlock("posStdDev")); + getPosVelAccStdDevArgs.put("VEL_STD_DEV", ToolboxUtil.makeVariableGetBlock("velStdDev")); + getPosVelAccStdDevArgs.put("ACC_STD_DEV", ToolboxUtil.makeVariableGetBlock("accStdDev")); + functions.put("getPosVelAccStdDev", getPosVelAccStdDevArgs); + Map getPosVelAccAndStdDevArgs = new LinkedHashMap<>(); + getPosVelAccAndStdDevArgs.put("POS", ToolboxUtil.makeVariableGetBlock("pos")); + getPosVelAccAndStdDevArgs.put("VEL", ToolboxUtil.makeVariableGetBlock("vel")); + getPosVelAccAndStdDevArgs.put("ACC", ToolboxUtil.makeVariableGetBlock("acc")); + getPosVelAccAndStdDevArgs.put("POS_STD_DEV", ToolboxUtil.makeVariableGetBlock("posStdDev")); + getPosVelAccAndStdDevArgs.put("VEL_STD_DEV", ToolboxUtil.makeVariableGetBlock("velStdDev")); + getPosVelAccAndStdDevArgs.put("ACC_STD_DEV", ToolboxUtil.makeVariableGetBlock("accStdDev")); + functions.put("getPosVelAccAndStdDev", getPosVelAccAndStdDevArgs); + Map getVersionInfoArgs = new LinkedHashMap<>(); + getVersionInfoArgs.put("HW_VERSION", ToolboxUtil.makeVariableGetBlock("hwVersion")); + getVersionInfoArgs.put("FW_VERSION", ToolboxUtil.makeVariableGetBlock("fwVersion")); + functions.put("getVersionInfo", getVersionInfoArgs); + functions.put("begin", null); + functions.put("calibrateImu", null); + Map calibrateImuArgs = new LinkedHashMap<>(); + calibrateImuArgs.put("NUM_SAMPLES", ToolboxUtil.makeNumberShadow(255)); + calibrateImuArgs.put("WAIT_UNTIL_DONE", ToolboxUtil.makeBooleanShadow(true)); + functions.put("calibrateImu_withArgs", calibrateImuArgs); + functions.put("isConnected", null); + functions.put("selfTest", null); + functions.put("resetTracking", null); + ToolboxUtil.addFunctions(xmlToolbox, hardwareType, identifier, functions); + } + + private static void addTouchSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("IsPressed", "Boolean"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + } + + private static void addUltrasonicSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("UltrasonicLevel", "Number"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + } + + private static void addVoltageSensorCategoryToToolbox(StringBuilder xmlToolbox, HardwareType hardwareType, List hardwareItems) { + String identifier = hardwareItems.get(0).identifier; + SortedMap properties = new TreeMap<>(); + properties.put("Voltage", "Number"); + ToolboxUtil.addProperties(xmlToolbox, hardwareType, identifier, properties, null, null); + } + + public static String upgradeJs(String jsContent, HardwareItemMap hardwareItemMap) { + return replaceIdentifierInJs(replaceIdentifierSuffixInJs(jsContent, hardwareItemMap.getHardwareItems(HardwareType.BNO055IMU), "AsAdafruitBNO055IMU", "AsBNO055IMU"), "adafruitBNO055IMUParametersAccess", "bno055imuParametersAccess"); + } + + private static String replaceIdentifierSuffixInJs(String jsContent, List hardwareItemList, String oldIdentifierSuffix, String newIdentifierSuffix) { + if (hardwareItemList != null) { + for (HardwareItem hardwareItem : hardwareItemList) { + String newIdentifier = hardwareItem.identifier; + if (newIdentifier.endsWith(newIdentifierSuffix)) { + String oldIdentifier = newIdentifier.substring(0, newIdentifier.length() - newIdentifierSuffix.length()) + oldIdentifierSuffix; + String oldCode = oldIdentifier + "."; + String newCode = newIdentifier + "."; + jsContent = jsContent.replace(oldCode, newCode); + } + } + } + return jsContent; + } + + private static String replaceIdentifierInJs(String jsContent, String oldIdentifier, String newIdentifier) { + String oldCode = oldIdentifier + "."; + String newCode = newIdentifier + "."; + return jsContent.replace(oldCode, newCode); + } + + public static String getConfigurationName() { + RobotConfigFileManager robotConfigFileManager = new RobotConfigFileManager(); + RobotConfigFile activeConfig = robotConfigFileManager.getActiveConfig(); + return activeConfig.getName(); + } + + private static void buildKnownTypesAndReservedWordsForFtcJava() { + KNOWN_TYPES_FOR_FTCJAVA.put("android.graphics", new Class[]{Color.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("android.util", new Class[]{android.util.Size.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.ftccommon", new Class[]{SoundPlayer.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.andymark", new Class[]{AndyMarkIMU.class, AndyMarkIMUOrientationOnRobot.class, AndyMarkIMUOrientationOnRobot.I2cPortFacingDirection.class, AndyMarkIMUOrientationOnRobot.LogoFacingDirection.class, AndyMarkColorSensor.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.bosch", new Class[]{BNO055IMU.class, BNO055IMU.AccelerationIntegrator.class, BNO055IMU.AccelUnit.class, BNO055IMU.Parameters.class, BNO055IMU.SensorMode.class, BNO055IMU.SystemStatus.class, JustLoggingAccelerationIntegrator.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.dfrobot", new Class[]{HuskyLens.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.digitalchickenlabs", new Class[]{OctoQuad.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.gobilda", new Class[]{GoBildaPinpointDriver.class, GoBildaPinpointDriver.DeviceStatus.class, GoBildaPinpointDriver.EncoderDirection.class, GoBildaPinpointDriver.GoBildaOdometryPods.class, GoBildaPinpointDriver.ReadData.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.limelightvision", new Class[]{Limelight3A.class, LLResult.class, LLResultTypes.class, LLResultTypes.FiducialResult.class, LLResultTypes.ColorResult.class, LLStatus.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.maxbotix", new Class[]{MaxSonarI2CXL.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.modernrobotics", new Class[]{ModernRoboticsI2cCompassSensor.class, ModernRoboticsI2cGyro.class, ModernRoboticsI2cGyro.HeadingMode.class, ModernRoboticsI2cRangeSensor.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.rev", new Class[]{RevBlinkinLedDriver.class, RevBlinkinLedDriver.BlinkinPattern.class, RevHubOrientationOnRobot.class, RevHubOrientationOnRobot.LogoFacingDirection.class, RevHubOrientationOnRobot.UsbFacingDirection.class, Rev9AxisImuOrientationOnRobot.class, Rev9AxisImuOrientationOnRobot.I2cPortFacingDirection.class, Rev9AxisImuOrientationOnRobot.LogoFacingDirection.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.hardware.sparkfun", new Class[]{SparkFunLEDStick.class, SparkFunOTOS.class, SparkFunOTOS.Pose2D.class, SparkFunOTOS.SelfTestConfig.class, SparkFunOTOS.SignalProcessConfig.class, SparkFunOTOS.Status.class, SparkFunOTOS.Version.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.robotcore.eventloop.opmode", new Class[]{Autonomous.class, Disabled.class, LinearOpMode.class, OpMode.class, TeleOp.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.robotcore.hardware", new Class[]{AccelerationSensor.class, AnalogInput.class, CRServo.class, ColorSensor.class, CompassSensor.class, CompassSensor.CompassMode.class, DcMotor.class, DcMotor.RunMode.class, DcMotor.ZeroPowerBehavior.class, DcMotorEx.class, DcMotorSimple.class, DcMotorSimple.Direction.class, DigitalChannel.class, DigitalChannel.Mode.class, DistanceSensor.class, Gamepad.class, Gamepad.LedEffect.class, Gamepad.LedEffect.Builder.class, Gamepad.RumbleEffect.class, Gamepad.RumbleEffect.Builder.class, GyroSensor.class, Gyroscope.class, I2cAddr.class, I2cAddrConfig.class, I2cAddressableDevice.class, IMU.class, IMU.Parameters.class, ImuOrientationOnRobot.class, IrSeekerSensor.class, IrSeekerSensor.Mode.class, LED.class, Light.class, LightSensor.class, MotorControlAlgorithm.class, NormalizedColorSensor.class, NormalizedRGBA.class, OpticalDistanceSensor.class, OrientationSensor.class, PIDCoefficients.class, PIDFCoefficients.class, PWMOutput.class, Servo.class, Servo.Direction.class, ServoController.class, ServoController.PwmStatus.class, SwitchableLight.class, TouchSensor.class, UltrasonicSensor.class, VoltageSensor.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("com.qualcomm.robotcore.util", new Class[]{ElapsedTime.class, ElapsedTime.Resolution.class, Range.class, ReadWriteFile.class, RobotLog.class, SortOrder.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("java.lang", new Class[]{Boolean.class, Byte.class, Character.class, Double.class, Float.class, Integer.class, Long.class, Number.class, Object.class, Short.class, String.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("java.util", new Class[]{ArrayList.class, Collections.class, List.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("java.util.concurrent", new Class[]{TimeUnit.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external", new Class[]{ClassFactory.class, JavaUtil.class, Telemetry.class, Telemetry.DisplayFormat.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external.android", new Class[]{AndroidAccelerometer.class, AndroidGyroscope.class, AndroidOrientation.class, AndroidSoundPool.class, AndroidTextToSpeech.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external.hardware.camera", new Class[]{BuiltinCameraDirection.class, CameraName.class, WebcamName.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external.hardware.camera.controls", new Class[]{CameraControl.class, ExposureControl.class, FocusControl.class, GainControl.class, PtzControl.class, WhiteBalanceControl.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external.matrices", new Class[]{MatrixF.class, OpenGLMatrix.class, VectorF.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external.navigation", new Class[]{Acceleration.class, AngleUnit.class, AngularVelocity.class, AxesOrder.class, AxesReference.class, Axis.class, CurrentUnit.class, DistanceUnit.class, MagneticFlux.class, Orientation.class, Pose2D.class, Pose3D.class, Position.class, Quaternion.class, TempUnit.class, Temperature.class, UnnormalizedAngleUnit.class, Velocity.class, YawPitchRollAngles.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.external.stream", new Class[]{CameraStreamServer.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.robotcore.internal.system", new Class[]{AppUtil.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.vision", new Class[]{VisionPortal.class, VisionProcessor.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.vision.apriltag", new Class[]{AprilTagDetection.class, AprilTagGameDatabase.class, AprilTagLibrary.class, AprilTagMetadata.class, AprilTagPoseFtc.class, AprilTagPoseRaw.class, AprilTagProcessor.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.firstinspires.ftc.vision.opencv", new Class[]{Circle.class, ColorBlobLocatorProcessor.class, ColorRange.class, ColorSpace.class, ImageRegion.class, PredominantColorProcessor.class}); + KNOWN_TYPES_FOR_FTCJAVA.put("org.opencv.core", new Class[]{RotatedRect.class, Scalar.class}); + for (Class[] classes : KNOWN_TYPES_FOR_FTCJAVA.values()) { + for (Class c : classes) { + if (c.getEnclosingClass() == null) { + RESERVED_WORDS_FOR_FTCJAVA.add(c.getSimpleName()); + } + } + } + for (Method method : LinearOpMode.class.getMethods()) { + if (!method.getName().equals("runOpMode")) { + RESERVED_WORDS_FOR_FTCJAVA.add(method.getName()); + } + } + for (Field field : LinearOpMode.class.getFields()) { + RESERVED_WORDS_FOR_FTCJAVA.add(field.getName()); + } + RESERVED_WORDS_FOR_FTCJAVA.add("abstract"); + RESERVED_WORDS_FOR_FTCJAVA.add("assert"); + RESERVED_WORDS_FOR_FTCJAVA.add("boolean"); + RESERVED_WORDS_FOR_FTCJAVA.add("break"); + RESERVED_WORDS_FOR_FTCJAVA.add("byte"); + RESERVED_WORDS_FOR_FTCJAVA.add("case"); + RESERVED_WORDS_FOR_FTCJAVA.add("catch"); + RESERVED_WORDS_FOR_FTCJAVA.add("char"); + RESERVED_WORDS_FOR_FTCJAVA.add("class"); + RESERVED_WORDS_FOR_FTCJAVA.add("const"); + RESERVED_WORDS_FOR_FTCJAVA.add("continue"); + RESERVED_WORDS_FOR_FTCJAVA.add("default"); + RESERVED_WORDS_FOR_FTCJAVA.add("do"); + RESERVED_WORDS_FOR_FTCJAVA.add("double"); + RESERVED_WORDS_FOR_FTCJAVA.add("else"); + RESERVED_WORDS_FOR_FTCJAVA.add("enum"); + RESERVED_WORDS_FOR_FTCJAVA.add("extends"); + RESERVED_WORDS_FOR_FTCJAVA.add("final"); + RESERVED_WORDS_FOR_FTCJAVA.add("finally"); + RESERVED_WORDS_FOR_FTCJAVA.add("float"); + RESERVED_WORDS_FOR_FTCJAVA.add("for"); + RESERVED_WORDS_FOR_FTCJAVA.add("goto"); + RESERVED_WORDS_FOR_FTCJAVA.add("if"); + RESERVED_WORDS_FOR_FTCJAVA.add("implements"); + RESERVED_WORDS_FOR_FTCJAVA.add("import"); + RESERVED_WORDS_FOR_FTCJAVA.add("instanceof"); + RESERVED_WORDS_FOR_FTCJAVA.add("int"); + RESERVED_WORDS_FOR_FTCJAVA.add("interface"); + RESERVED_WORDS_FOR_FTCJAVA.add("long"); + RESERVED_WORDS_FOR_FTCJAVA.add("native"); + RESERVED_WORDS_FOR_FTCJAVA.add(RequestConditions.REQUEST_KEY_NEW); + RESERVED_WORDS_FOR_FTCJAVA.add("package"); + RESERVED_WORDS_FOR_FTCJAVA.add("private"); + RESERVED_WORDS_FOR_FTCJAVA.add("protected"); + RESERVED_WORDS_FOR_FTCJAVA.add("public"); + RESERVED_WORDS_FOR_FTCJAVA.add("return"); + RESERVED_WORDS_FOR_FTCJAVA.add("short"); + RESERVED_WORDS_FOR_FTCJAVA.add("static"); + RESERVED_WORDS_FOR_FTCJAVA.add("strictfp"); + RESERVED_WORDS_FOR_FTCJAVA.add("super"); + RESERVED_WORDS_FOR_FTCJAVA.add("switch"); + RESERVED_WORDS_FOR_FTCJAVA.add("synchronized"); + RESERVED_WORDS_FOR_FTCJAVA.add("this"); + RESERVED_WORDS_FOR_FTCJAVA.add("throw"); + RESERVED_WORDS_FOR_FTCJAVA.add("throws"); + RESERVED_WORDS_FOR_FTCJAVA.add("transient"); + RESERVED_WORDS_FOR_FTCJAVA.add("try"); + RESERVED_WORDS_FOR_FTCJAVA.add("void"); + RESERVED_WORDS_FOR_FTCJAVA.add("volatile"); + RESERVED_WORDS_FOR_FTCJAVA.add("while"); + RESERVED_WORDS_FOR_FTCJAVA.add(AbstractMethodError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Appendable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ArithmeticException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ArrayIndexOutOfBoundsException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ArrayStoreException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(AssertionError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(AutoCloseable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Boolean.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add("BootstrapMethodError"); + RESERVED_WORDS_FOR_FTCJAVA.add(Byte.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Character.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(CharSequence.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Class.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add("ClassValue"); + RESERVED_WORDS_FOR_FTCJAVA.add(ClassCastException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ClassCircularityError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ClassFormatError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ClassLoader.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ClassNotFoundException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Cloneable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(CloneNotSupportedException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Comparable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Compiler.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Deprecated.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Double.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Enum.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(EnumConstantNotPresentException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Error.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Exception.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ExceptionInInitializerError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Float.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(FunctionalInterface.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IllegalAccessError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IllegalAccessException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IllegalArgumentException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IllegalMonitorStateException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IllegalStateException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IllegalThreadStateException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IncompatibleClassChangeError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(IndexOutOfBoundsException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(InheritableThreadLocal.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(InstantiationError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(InstantiationException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Integer.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(InternalError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(InterruptedException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Iterable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(LinkageError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Long.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Math.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NegativeArraySizeException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NoClassDefFoundError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NoSuchFieldError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NoSuchFieldException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NoSuchMethodError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NoSuchMethodException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NullPointerException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Number.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(NumberFormatException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Object.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(OutOfMemoryError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Override.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Package.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Process.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ProcessBuilder.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Readable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ReflectiveOperationException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Runnable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Runtime.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(RuntimeException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(RuntimePermission.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(SafeVarargs.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(SecurityException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(SecurityManager.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Short.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(StackOverflowError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(StackTraceElement.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(StrictMath.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(String.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(StringBuffer.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(StringBuilder.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(StringIndexOutOfBoundsException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(SuppressWarnings.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(System.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Thread.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ThreadDeath.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ThreadGroup.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(ThreadLocal.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Throwable.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(TypeNotPresentException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(UnknownError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(UnsatisfiedLinkError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(UnsupportedClassVersionError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(UnsupportedOperationException.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(VerifyError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(VirtualMachineError.class.getSimpleName()); + RESERVED_WORDS_FOR_FTCJAVA.add(Void.class.getSimpleName()); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/onbotjava/R.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/onbotjava/R.java new file mode 100644 index 000000000000..1af077159965 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/onbotjava/R.java @@ -0,0 +1,2985 @@ +package com.google.blocks.ftcrobotcontroller.onbotjava; + +/* JADX INFO: loaded from: classes5.dex */ +public final class R { + + public static final class anim { + public static int abc_fade_in = 0x7f010000; + public static int abc_fade_out = 0x7f010001; + public static int abc_grow_fade_in_from_bottom = 0x7f010002; + public static int abc_popup_enter = 0x7f010003; + public static int abc_popup_exit = 0x7f010004; + public static int abc_shrink_fade_out_from_bottom = 0x7f010005; + public static int abc_slide_in_bottom = 0x7f010006; + public static int abc_slide_in_top = 0x7f010007; + public static int abc_slide_out_bottom = 0x7f010008; + public static int abc_slide_out_top = 0x7f010009; + public static int abc_tooltip_enter = 0x7f01000a; + public static int abc_tooltip_exit = 0x7f01000b; + public static int btn_checkbox_to_checked_box_inner_merged_animation = 0x7f01000c; + public static int btn_checkbox_to_checked_box_outer_merged_animation = 0x7f01000d; + public static int btn_checkbox_to_checked_icon_null_animation = 0x7f01000e; + public static int btn_checkbox_to_unchecked_box_inner_merged_animation = 0x7f01000f; + public static int btn_checkbox_to_unchecked_check_path_merged_animation = 0x7f010010; + public static int btn_checkbox_to_unchecked_icon_null_animation = 0x7f010011; + public static int btn_radio_to_off_mtrl_dot_group_animation = 0x7f010012; + public static int btn_radio_to_off_mtrl_ring_outer_animation = 0x7f010013; + public static int btn_radio_to_off_mtrl_ring_outer_path_animation = 0x7f010014; + public static int btn_radio_to_on_mtrl_dot_group_animation = 0x7f010015; + public static int btn_radio_to_on_mtrl_ring_outer_animation = 0x7f010016; + public static int btn_radio_to_on_mtrl_ring_outer_path_animation = 0x7f010017; + + private anim() { + } + } + + public static final class array { + public static int app_theme_colors = 0x7f020000; + public static int app_theme_ids = 0x7f020001; + public static int app_theme_names = 0x7f020002; + public static int app_theme_tokens = 0x7f020003; + public static int choice_array_legacy_module = 0x7f020004; + public static int lynx_module_options_array = 0x7f020005; + public static int networkTypes = 0x7f020006; + public static int servo_hub_options_array = 0x7f020007; + public static int wifi_direct_channels = 0x7f020008; + + private array() { + } + } + + public static final class attr { + public static int actionBarDivider = 0x7f030000; + public static int actionBarItemBackground = 0x7f030001; + public static int actionBarPopupTheme = 0x7f030002; + public static int actionBarSize = 0x7f030003; + public static int actionBarSplitStyle = 0x7f030004; + public static int actionBarStyle = 0x7f030005; + public static int actionBarTabBarStyle = 0x7f030006; + public static int actionBarTabStyle = 0x7f030007; + public static int actionBarTabTextStyle = 0x7f030008; + public static int actionBarTheme = 0x7f030009; + public static int actionBarWidgetTheme = 0x7f03000a; + public static int actionButtonStyle = 0x7f03000b; + public static int actionDropDownStyle = 0x7f03000c; + public static int actionLayout = 0x7f03000d; + public static int actionMenuTextAppearance = 0x7f03000e; + public static int actionMenuTextColor = 0x7f03000f; + public static int actionModeBackground = 0x7f030010; + public static int actionModeCloseButtonStyle = 0x7f030011; + public static int actionModeCloseDrawable = 0x7f030012; + public static int actionModeCopyDrawable = 0x7f030013; + public static int actionModeCutDrawable = 0x7f030014; + public static int actionModeFindDrawable = 0x7f030015; + public static int actionModePasteDrawable = 0x7f030016; + public static int actionModePopupWindowStyle = 0x7f030017; + public static int actionModeSelectAllDrawable = 0x7f030018; + public static int actionModeShareDrawable = 0x7f030019; + public static int actionModeSplitBackground = 0x7f03001a; + public static int actionModeStyle = 0x7f03001b; + public static int actionModeWebSearchDrawable = 0x7f03001c; + public static int actionOverflowButtonStyle = 0x7f03001d; + public static int actionOverflowMenuStyle = 0x7f03001e; + public static int actionProviderClass = 0x7f03001f; + public static int actionViewClass = 0x7f030020; + public static int activityChooserViewStyle = 0x7f030021; + public static int alertDialogButtonGroupStyle = 0x7f030022; + public static int alertDialogCenterButtons = 0x7f030023; + public static int alertDialogStyle = 0x7f030024; + public static int alertDialogTheme = 0x7f030025; + public static int allowStacking = 0x7f030026; + public static int alpha = 0x7f030027; + public static int alphabeticModifiers = 0x7f030028; + public static int arrowHeadLength = 0x7f030029; + public static int arrowShaftLength = 0x7f03002a; + public static int autoCompleteTextViewStyle = 0x7f03002b; + public static int autoSizeMaxTextSize = 0x7f03002c; + public static int autoSizeMinTextSize = 0x7f03002d; + public static int autoSizePresetSizes = 0x7f03002e; + public static int autoSizeStepGranularity = 0x7f03002f; + public static int autoSizeTextType = 0x7f030030; + public static int background = 0x7f030031; + public static int backgroundAlmostDark = 0x7f030032; + public static int backgroundDark = 0x7f030033; + public static int backgroundLight = 0x7f030034; + public static int backgroundMedium = 0x7f030035; + public static int backgroundMediumDark = 0x7f030036; + public static int backgroundMediumLight = 0x7f030037; + public static int backgroundMediumMedium = 0x7f030038; + public static int backgroundSplit = 0x7f030039; + public static int backgroundStacked = 0x7f03003a; + public static int backgroundTint = 0x7f03003b; + public static int backgroundTintMode = 0x7f03003c; + public static int backgroundVeryDark = 0x7f03003d; + public static int backgroundVeryVeryDark = 0x7f03003e; + public static int barLength = 0x7f03003f; + public static int borderlessButtonStyle = 0x7f030040; + public static int buttonBarButtonStyle = 0x7f030041; + public static int buttonBarNegativeButtonStyle = 0x7f030042; + public static int buttonBarNeutralButtonStyle = 0x7f030043; + public static int buttonBarPositiveButtonStyle = 0x7f030044; + public static int buttonBarStyle = 0x7f030045; + public static int buttonCompat = 0x7f030046; + public static int buttonGravity = 0x7f030047; + public static int buttonIconDimen = 0x7f030048; + public static int buttonPanelSideLayout = 0x7f030049; + public static int buttonStyle = 0x7f03004a; + public static int buttonStyleSmall = 0x7f03004b; + public static int buttonTint = 0x7f03004c; + public static int buttonTintMode = 0x7f03004d; + public static int camera_id = 0x7f03004e; + public static int checkboxStyle = 0x7f03004f; + public static int checkedTextViewStyle = 0x7f030050; + public static int closeIcon = 0x7f030051; + public static int closeItemLayout = 0x7f030052; + public static int collapseContentDescription = 0x7f030053; + public static int collapseIcon = 0x7f030054; + public static int color = 0x7f030055; + public static int colorAccent = 0x7f030056; + public static int colorAlmostDark = 0x7f030057; + public static int colorBackgroundFloating = 0x7f030058; + public static int colorButtonNormal = 0x7f030059; + public static int colorControlActivated = 0x7f03005a; + public static int colorControlHighlight = 0x7f03005b; + public static int colorControlNormal = 0x7f03005c; + public static int colorError = 0x7f03005d; + public static int colorMedium = 0x7f03005e; + public static int colorMediumLight = 0x7f03005f; + public static int colorMediumMedium = 0x7f030060; + public static int colorPrimary = 0x7f030061; + public static int colorPrimaryDark = 0x7f030062; + public static int colorReady = 0x7f030063; + public static int colorSwitchThumbNormal = 0x7f030064; + public static int colorVeryVeryDark = 0x7f030065; + public static int colors = 0x7f030066; + public static int commitIcon = 0x7f030067; + public static int contentDescription = 0x7f030068; + public static int contentInsetEnd = 0x7f030069; + public static int contentInsetEndWithActions = 0x7f03006a; + public static int contentInsetLeft = 0x7f03006b; + public static int contentInsetRight = 0x7f03006c; + public static int contentInsetStart = 0x7f03006d; + public static int contentInsetStartWithNavigation = 0x7f03006e; + public static int controlBackground = 0x7f03006f; + public static int customNavigationLayout = 0x7f030070; + public static int defaultQueryHint = 0x7f030071; + public static int dialogCornerRadius = 0x7f030072; + public static int dialogPreferredPadding = 0x7f030073; + public static int dialogTheme = 0x7f030074; + public static int displayOptions = 0x7f030075; + public static int divider = 0x7f030076; + public static int dividerHorizontal = 0x7f030077; + public static int dividerPadding = 0x7f030078; + public static int dividerVertical = 0x7f030079; + public static int drawableBottomCompat = 0x7f03007a; + public static int drawableEndCompat = 0x7f03007b; + public static int drawableLeftCompat = 0x7f03007c; + public static int drawableRightCompat = 0x7f03007d; + public static int drawableSize = 0x7f03007e; + public static int drawableStartCompat = 0x7f03007f; + public static int drawableTint = 0x7f030080; + public static int drawableTintMode = 0x7f030081; + public static int drawableTopCompat = 0x7f030082; + public static int drawerArrowStyle = 0x7f030083; + public static int dropDownListViewStyle = 0x7f030084; + public static int dropdownListPreferredItemHeight = 0x7f030085; + public static int editTextBackground = 0x7f030086; + public static int editTextColor = 0x7f030087; + public static int editTextStyle = 0x7f030088; + public static int elevation = 0x7f030089; + public static int expandActivityOverflowButtonDrawable = 0x7f03008a; + public static int feedbackBackground = 0x7f03008b; + public static int feedbackBorder = 0x7f03008c; + public static int feedbackShape = 0x7f03008d; + public static int firstBaselineToTopHeight = 0x7f03008e; + public static int font = 0x7f03008f; + public static int fontFamily = 0x7f030090; + public static int fontProviderAuthority = 0x7f030091; + public static int fontProviderCerts = 0x7f030092; + public static int fontProviderFetchStrategy = 0x7f030093; + public static int fontProviderFetchTimeout = 0x7f030094; + public static int fontProviderPackage = 0x7f030095; + public static int fontProviderQuery = 0x7f030096; + public static int fontStyle = 0x7f030097; + public static int fontVariationSettings = 0x7f030098; + public static int fontWeight = 0x7f030099; + public static int gapBetweenBars = 0x7f03009a; + public static int goIcon = 0x7f03009b; + public static int height = 0x7f03009c; + public static int hideOnContentScroll = 0x7f03009d; + public static int homeAsUpIndicator = 0x7f03009e; + public static int homeLayout = 0x7f03009f; + public static int icon = 0x7f0300a0; + public static int iconTint = 0x7f0300a1; + public static int iconTintMode = 0x7f0300a2; + public static int iconifiedByDefault = 0x7f0300a3; + public static int imageButtonStyle = 0x7f0300a4; + public static int indeterminateProgressStyle = 0x7f0300a5; + public static int initialActivityCount = 0x7f0300a6; + public static int isLightTheme = 0x7f0300a7; + public static int itemPadding = 0x7f0300a8; + public static int lastBaselineToBottomHeight = 0x7f0300a9; + public static int layout = 0x7f0300aa; + public static int lineBright = 0x7f0300ab; + public static int lineHeight = 0x7f0300ac; + public static int lineLight = 0x7f0300ad; + public static int listChoiceBackgroundIndicator = 0x7f0300ae; + public static int listChoiceIndicatorMultipleAnimated = 0x7f0300af; + public static int listChoiceIndicatorSingleAnimated = 0x7f0300b0; + public static int listDividerAlertDialog = 0x7f0300b1; + public static int listItemLayout = 0x7f0300b2; + public static int listLayout = 0x7f0300b3; + public static int listMenuViewStyle = 0x7f0300b4; + public static int listPopupWindowStyle = 0x7f0300b5; + public static int listPreferredItemHeight = 0x7f0300b6; + public static int listPreferredItemHeightLarge = 0x7f0300b7; + public static int listPreferredItemHeightSmall = 0x7f0300b8; + public static int listPreferredItemPaddingEnd = 0x7f0300b9; + public static int listPreferredItemPaddingLeft = 0x7f0300ba; + public static int listPreferredItemPaddingRight = 0x7f0300bb; + public static int listPreferredItemPaddingStart = 0x7f0300bc; + public static int logo = 0x7f0300bd; + public static int logoDescription = 0x7f0300be; + public static int maxButtonHeight = 0x7f0300bf; + public static int measureWithLargestChild = 0x7f0300c0; + public static int menu = 0x7f0300c1; + public static int multiChoiceItemLayout = 0x7f0300c2; + public static int navigationContentDescription = 0x7f0300c3; + public static int navigationIcon = 0x7f0300c4; + public static int navigationMode = 0x7f0300c5; + public static int numericModifiers = 0x7f0300c6; + public static int overlapAnchor = 0x7f0300c7; + public static int paddingBottomNoButtons = 0x7f0300c8; + public static int paddingEnd = 0x7f0300c9; + public static int paddingStart = 0x7f0300ca; + public static int paddingTopNoTitle = 0x7f0300cb; + public static int panelBackground = 0x7f0300cc; + public static int panelMenuListTheme = 0x7f0300cd; + public static int panelMenuListWidth = 0x7f0300ce; + public static int popupMenuStyle = 0x7f0300cf; + public static int popupTheme = 0x7f0300d0; + public static int popupWindowStyle = 0x7f0300d1; + public static int preserveIconSpacing = 0x7f0300d2; + public static int progressBarPadding = 0x7f0300d3; + public static int progressBarStyle = 0x7f0300d4; + public static int queryBackground = 0x7f0300d5; + public static int queryHint = 0x7f0300d6; + public static int radioButtonStyle = 0x7f0300d7; + public static int ratingBarStyle = 0x7f0300d8; + public static int ratingBarStyleIndicator = 0x7f0300d9; + public static int ratingBarStyleSmall = 0x7f0300da; + public static int searchHintIcon = 0x7f0300db; + public static int searchIcon = 0x7f0300dc; + public static int searchViewStyle = 0x7f0300dd; + public static int seekBarStyle = 0x7f0300de; + public static int selectableItemBackground = 0x7f0300df; + public static int selectableItemBackgroundBorderless = 0x7f0300e0; + public static int showAsAction = 0x7f0300e1; + public static int showDividers = 0x7f0300e2; + public static int showText = 0x7f0300e3; + public static int showTitle = 0x7f0300e4; + public static int show_fps = 0x7f0300e5; + public static int singleChoiceItemLayout = 0x7f0300e6; + public static int spinBars = 0x7f0300e7; + public static int spinnerDropDownItemStyle = 0x7f0300e8; + public static int spinnerStyle = 0x7f0300e9; + public static int splitTrack = 0x7f0300ea; + public static int srcCompat = 0x7f0300eb; + public static int state_above_anchor = 0x7f0300ec; + public static int subMenuArrow = 0x7f0300ed; + public static int submitBackground = 0x7f0300ee; + public static int subtitle = 0x7f0300ef; + public static int subtitleTextAppearance = 0x7f0300f0; + public static int subtitleTextColor = 0x7f0300f1; + public static int subtitleTextStyle = 0x7f0300f2; + public static int suggestionRowLayout = 0x7f0300f3; + public static int switchMinWidth = 0x7f0300f4; + public static int switchPadding = 0x7f0300f5; + public static int switchStyle = 0x7f0300f6; + public static int switchTextAppearance = 0x7f0300f7; + public static int textAllCaps = 0x7f0300f8; + public static int textAppearanceLargePopupMenu = 0x7f0300f9; + public static int textAppearanceListItem = 0x7f0300fa; + public static int textAppearanceListItemSecondary = 0x7f0300fb; + public static int textAppearanceListItemSmall = 0x7f0300fc; + public static int textAppearancePopupMenuHeader = 0x7f0300fd; + public static int textAppearanceSearchResultSubtitle = 0x7f0300fe; + public static int textAppearanceSearchResultTitle = 0x7f0300ff; + public static int textAppearanceSmallPopupMenu = 0x7f030100; + public static int textBright = 0x7f030101; + public static int textColorAlertDialogListItem = 0x7f030102; + public static int textColorSearchUrl = 0x7f030103; + public static int textLight = 0x7f030104; + public static int textLocale = 0x7f030105; + public static int textMedium = 0x7f030106; + public static int textMediumAlmostDark = 0x7f030107; + public static int textMediumDark = 0x7f030108; + public static int textMediumLight = 0x7f030109; + public static int textMediumMedium = 0x7f03010a; + public static int textVeryDark = 0x7f03010b; + public static int textVeryVeryDark = 0x7f03010c; + public static int textWhite = 0x7f03010d; + public static int theme = 0x7f03010e; + public static int thickness = 0x7f03010f; + public static int thumbTextPadding = 0x7f030110; + public static int thumbTint = 0x7f030111; + public static int thumbTintMode = 0x7f030112; + public static int tickMark = 0x7f030113; + public static int tickMarkTint = 0x7f030114; + public static int tickMarkTintMode = 0x7f030115; + public static int tint = 0x7f030116; + public static int tintMode = 0x7f030117; + public static int title = 0x7f030118; + public static int titleMargin = 0x7f030119; + public static int titleMarginBottom = 0x7f03011a; + public static int titleMarginEnd = 0x7f03011b; + public static int titleMarginStart = 0x7f03011c; + public static int titleMarginTop = 0x7f03011d; + public static int titleMargins = 0x7f03011e; + public static int titleTextAppearance = 0x7f03011f; + public static int titleTextColor = 0x7f030120; + public static int titleTextStyle = 0x7f030121; + public static int toolbarNavigationButtonStyle = 0x7f030122; + public static int toolbarStyle = 0x7f030123; + public static int tooltipForegroundColor = 0x7f030124; + public static int tooltipFrameBackground = 0x7f030125; + public static int tooltipText = 0x7f030126; + public static int track = 0x7f030127; + public static int trackTint = 0x7f030128; + public static int trackTintMode = 0x7f030129; + public static int ttcIndex = 0x7f03012a; + public static int viewInflaterClass = 0x7f03012b; + public static int voiceIcon = 0x7f03012c; + public static int windowActionBar = 0x7f03012d; + public static int windowActionBarOverlay = 0x7f03012e; + public static int windowActionModeOverlay = 0x7f03012f; + public static int windowFixedHeightMajor = 0x7f030130; + public static int windowFixedHeightMinor = 0x7f030131; + public static int windowFixedWidthMajor = 0x7f030132; + public static int windowFixedWidthMinor = 0x7f030133; + public static int windowMinWidthMajor = 0x7f030134; + public static int windowMinWidthMinor = 0x7f030135; + public static int windowNoTitle = 0x7f030136; + public static int zxing_framing_rect_height = 0x7f030137; + public static int zxing_framing_rect_width = 0x7f030138; + public static int zxing_possible_result_points = 0x7f030139; + public static int zxing_preview_scaling_strategy = 0x7f03013a; + public static int zxing_result_view = 0x7f03013b; + public static int zxing_scanner_layout = 0x7f03013c; + public static int zxing_use_texture_view = 0x7f03013d; + public static int zxing_viewfinder_laser = 0x7f03013e; + public static int zxing_viewfinder_laser_visibility = 0x7f03013f; + public static int zxing_viewfinder_mask = 0x7f030140; + + private attr() { + } + } + + public static final class bool { + public static int abc_action_bar_embed_tabs = 0x7f040000; + public static int abc_allow_stacked_button_bar = 0x7f040001; + public static int abc_config_actionMenuItemAllCaps = 0x7f040002; + + private bool() { + } + } + + public static final class color { + public static int abc_background_cache_hint_selector_material_dark = 0x7f050000; + public static int abc_background_cache_hint_selector_material_light = 0x7f050001; + public static int abc_btn_colored_borderless_text_material = 0x7f050002; + public static int abc_btn_colored_text_material = 0x7f050003; + public static int abc_color_highlight_material = 0x7f050004; + public static int abc_decor_view_status_guard = 0x7f050005; + public static int abc_decor_view_status_guard_light = 0x7f050006; + public static int abc_hint_foreground_material_dark = 0x7f050007; + public static int abc_hint_foreground_material_light = 0x7f050008; + public static int abc_primary_text_disable_only_material_dark = 0x7f050009; + public static int abc_primary_text_disable_only_material_light = 0x7f05000a; + public static int abc_primary_text_material_dark = 0x7f05000b; + public static int abc_primary_text_material_light = 0x7f05000c; + public static int abc_search_url_text = 0x7f05000d; + public static int abc_search_url_text_normal = 0x7f05000e; + public static int abc_search_url_text_pressed = 0x7f05000f; + public static int abc_search_url_text_selected = 0x7f050010; + public static int abc_secondary_text_material_dark = 0x7f050011; + public static int abc_secondary_text_material_light = 0x7f050012; + public static int abc_tint_btn_checkable = 0x7f050013; + public static int abc_tint_default = 0x7f050014; + public static int abc_tint_edittext = 0x7f050015; + public static int abc_tint_seek_thumb = 0x7f050016; + public static int abc_tint_spinner = 0x7f050017; + public static int abc_tint_switch_track = 0x7f050018; + public static int accent_material_dark = 0x7f050019; + public static int accent_material_light = 0x7f05001a; + public static int active_button_green = 0x7f05001b; + public static int almost_dark_blue = 0x7f05001c; + public static int almost_dark_green = 0x7f05001d; + public static int almost_dark_orange = 0x7f05001e; + public static int almost_dark_purple = 0x7f05001f; + public static int almost_dark_red = 0x7f050020; + public static int almost_dark_teal = 0x7f050021; + public static int androidx_core_ripple_material_light = 0x7f050022; + public static int androidx_core_secondary_text_default_material_light = 0x7f050023; + public static int background_black = 0x7f050024; + public static int background_dark_gray = 0x7f050025; + public static int background_floating_material_dark = 0x7f050026; + public static int background_floating_material_light = 0x7f050027; + public static int background_material_dark = 0x7f050028; + public static int background_material_light = 0x7f050029; + public static int background_orange = 0x7f05002a; + public static int background_very_light_grey = 0x7f05002b; + public static int background_white = 0x7f05002c; + public static int border_orange = 0x7f05002d; + public static int bright_blue = 0x7f05002e; + public static int bright_foreground_disabled_material_dark = 0x7f05002f; + public static int bright_foreground_disabled_material_light = 0x7f050030; + public static int bright_foreground_inverse_material_dark = 0x7f050031; + public static int bright_foreground_inverse_material_light = 0x7f050032; + public static int bright_foreground_material_dark = 0x7f050033; + public static int bright_foreground_material_light = 0x7f050034; + public static int bright_green = 0x7f050035; + public static int bright_orange = 0x7f050036; + public static int bright_purple = 0x7f050037; + public static int bright_red = 0x7f050038; + public static int bright_teal = 0x7f050039; + public static int button_material_dark = 0x7f05003a; + public static int button_material_light = 0x7f05003b; + public static int c_gray = 0x7f05003c; + public static int d_gray = 0x7f05003d; + public static int dark_blue = 0x7f05003e; + public static int dark_green = 0x7f05003f; + public static int dark_orange = 0x7f050040; + public static int dark_purple = 0x7f050041; + public static int dark_red = 0x7f050042; + public static int dark_teal = 0x7f050043; + public static int dim_foreground_disabled_material_dark = 0x7f050045; + public static int dim_foreground_disabled_material_light = 0x7f050046; + public static int dim_foreground_material_dark = 0x7f050047; + public static int dim_foreground_material_light = 0x7f050048; + public static int e_gray = 0x7f050049; + public static int error_color_material_dark = 0x7f05004a; + public static int error_color_material_light = 0x7f05004b; + public static int firstblue = 0x7f05004c; + public static int firstgreen = 0x7f05004d; + public static int firstorange = 0x7f05004e; + public static int firstred = 0x7f05004f; + public static int foreground_material_dark = 0x7f050050; + public static int foreground_material_light = 0x7f050051; + public static int highlighted_text_material_dark = 0x7f050052; + public static int highlighted_text_material_light = 0x7f050053; + public static int inactive_button_gray = 0x7f050054; + public static int info_shadow = 0x7f050055; + public static int light_blue = 0x7f050056; + public static int light_green = 0x7f050057; + public static int light_orange = 0x7f050058; + public static int light_purple = 0x7f050059; + public static int light_red = 0x7f05005a; + public static int light_teal = 0x7f05005b; + public static int line_gray = 0x7f05005c; + public static int logviewer_bgcolor = 0x7f05005d; + public static int material_blue_grey_800 = 0x7f05005e; + public static int material_blue_grey_900 = 0x7f05005f; + public static int material_blue_grey_950 = 0x7f050060; + public static int material_deep_teal_200 = 0x7f050061; + public static int material_deep_teal_500 = 0x7f050062; + public static int material_grey_100 = 0x7f050063; + public static int material_grey_300 = 0x7f050064; + public static int material_grey_50 = 0x7f050065; + public static int material_grey_600 = 0x7f050066; + public static int material_grey_800 = 0x7f050067; + public static int material_grey_850 = 0x7f050068; + public static int material_grey_900 = 0x7f050069; + public static int medium_blue = 0x7f05006a; + public static int medium_dark_blue = 0x7f05006b; + public static int medium_dark_green = 0x7f05006c; + public static int medium_dark_orange = 0x7f05006d; + public static int medium_dark_purple = 0x7f05006e; + public static int medium_dark_red = 0x7f05006f; + public static int medium_dark_teal = 0x7f050070; + public static int medium_green = 0x7f050071; + public static int medium_light_blue = 0x7f050072; + public static int medium_light_green = 0x7f050073; + public static int medium_light_orange = 0x7f050074; + public static int medium_light_purple = 0x7f050075; + public static int medium_light_red = 0x7f050076; + public static int medium_light_teal = 0x7f050077; + public static int medium_medium_blue = 0x7f050078; + public static int medium_medium_green = 0x7f050079; + public static int medium_medium_orange = 0x7f05007a; + public static int medium_medium_purple = 0x7f05007b; + public static int medium_medium_red = 0x7f05007c; + public static int medium_medium_teal = 0x7f05007d; + public static int medium_orange = 0x7f05007e; + public static int medium_purple = 0x7f05007f; + public static int medium_red = 0x7f050080; + public static int medium_teal = 0x7f050081; + public static int notification_action_color_filter = 0x7f050082; + public static int notification_icon_bg_color = 0x7f050083; + public static int primary_dark_material_dark = 0x7f050084; + public static int primary_dark_material_light = 0x7f050085; + public static int primary_material_dark = 0x7f050086; + public static int primary_material_light = 0x7f050087; + public static int primary_text_default_material_dark = 0x7f050088; + public static int primary_text_default_material_light = 0x7f050089; + public static int primary_text_disabled_material_dark = 0x7f05008a; + public static int primary_text_disabled_material_light = 0x7f05008b; + public static int ripple_material_dark = 0x7f05008c; + public static int ripple_material_light = 0x7f05008d; + public static int secondary_text_default_material_dark = 0x7f05008e; + public static int secondary_text_default_material_light = 0x7f05008f; + public static int secondary_text_disabled_material_dark = 0x7f050090; + public static int secondary_text_disabled_material_light = 0x7f050091; + public static int switch_thumb_disabled_material_dark = 0x7f050092; + public static int switch_thumb_disabled_material_light = 0x7f050093; + public static int switch_thumb_material_dark = 0x7f050094; + public static int switch_thumb_material_light = 0x7f050095; + public static int switch_thumb_normal_material_dark = 0x7f050096; + public static int switch_thumb_normal_material_light = 0x7f050097; + public static int text_error = 0x7f050098; + public static int text_okay = 0x7f050099; + public static int text_warning = 0x7f05009a; + public static int text_white = 0x7f05009b; + public static int tooltip_background_dark = 0x7f05009c; + public static int tooltip_background_light = 0x7f05009d; + public static int very_dark_blue = 0x7f05009e; + public static int very_dark_green = 0x7f05009f; + public static int very_dark_orange = 0x7f0500a0; + public static int very_dark_purple = 0x7f0500a1; + public static int very_dark_red = 0x7f0500a2; + public static int very_dark_teal = 0x7f0500a3; + public static int very_very_dark_blue = 0x7f0500a4; + public static int very_very_dark_green = 0x7f0500a5; + public static int very_very_dark_orange = 0x7f0500a6; + public static int very_very_dark_purple = 0x7f0500a7; + public static int very_very_dark_red = 0x7f0500a8; + public static int very_very_dark_teal = 0x7f0500a9; + public static int zxing_custom_possible_result_points = 0x7f0500aa; + public static int zxing_custom_result_view = 0x7f0500ab; + public static int zxing_custom_viewfinder_laser = 0x7f0500ac; + public static int zxing_custom_viewfinder_mask = 0x7f0500ad; + public static int zxing_possible_result_points = 0x7f0500ae; + public static int zxing_result_view = 0x7f0500af; + public static int zxing_status_text = 0x7f0500b0; + public static int zxing_transparent = 0x7f0500b1; + public static int zxing_viewfinder_laser = 0x7f0500b2; + public static int zxing_viewfinder_mask = 0x7f0500b3; + + private color() { + } + } + + public static final class dimen { + public static int abc_action_bar_content_inset_material = 0x7f060000; + public static int abc_action_bar_content_inset_with_nav = 0x7f060001; + public static int abc_action_bar_default_height_material = 0x7f060002; + public static int abc_action_bar_default_padding_end_material = 0x7f060003; + public static int abc_action_bar_default_padding_start_material = 0x7f060004; + public static int abc_action_bar_elevation_material = 0x7f060005; + public static int abc_action_bar_icon_vertical_padding_material = 0x7f060006; + public static int abc_action_bar_overflow_padding_end_material = 0x7f060007; + public static int abc_action_bar_overflow_padding_start_material = 0x7f060008; + public static int abc_action_bar_stacked_max_height = 0x7f060009; + public static int abc_action_bar_stacked_tab_max_width = 0x7f06000a; + public static int abc_action_bar_subtitle_bottom_margin_material = 0x7f06000b; + public static int abc_action_bar_subtitle_top_margin_material = 0x7f06000c; + public static int abc_action_button_min_height_material = 0x7f06000d; + public static int abc_action_button_min_width_material = 0x7f06000e; + public static int abc_action_button_min_width_overflow_material = 0x7f06000f; + public static int abc_alert_dialog_button_bar_height = 0x7f060010; + public static int abc_alert_dialog_button_dimen = 0x7f060011; + public static int abc_button_inset_horizontal_material = 0x7f060012; + public static int abc_button_inset_vertical_material = 0x7f060013; + public static int abc_button_padding_horizontal_material = 0x7f060014; + public static int abc_button_padding_vertical_material = 0x7f060015; + public static int abc_cascading_menus_min_smallest_width = 0x7f060016; + public static int abc_config_prefDialogWidth = 0x7f060017; + public static int abc_control_corner_material = 0x7f060018; + public static int abc_control_inset_material = 0x7f060019; + public static int abc_control_padding_material = 0x7f06001a; + public static int abc_dialog_corner_radius_material = 0x7f06001b; + public static int abc_dialog_fixed_height_major = 0x7f06001c; + public static int abc_dialog_fixed_height_minor = 0x7f06001d; + public static int abc_dialog_fixed_width_major = 0x7f06001e; + public static int abc_dialog_fixed_width_minor = 0x7f06001f; + public static int abc_dialog_list_padding_bottom_no_buttons = 0x7f060020; + public static int abc_dialog_list_padding_top_no_title = 0x7f060021; + public static int abc_dialog_min_width_major = 0x7f060022; + public static int abc_dialog_min_width_minor = 0x7f060023; + public static int abc_dialog_padding_material = 0x7f060024; + public static int abc_dialog_padding_top_material = 0x7f060025; + public static int abc_dialog_title_divider_material = 0x7f060026; + public static int abc_disabled_alpha_material_dark = 0x7f060027; + public static int abc_disabled_alpha_material_light = 0x7f060028; + public static int abc_dropdownitem_icon_width = 0x7f060029; + public static int abc_dropdownitem_text_padding_left = 0x7f06002a; + public static int abc_dropdownitem_text_padding_right = 0x7f06002b; + public static int abc_edit_text_inset_bottom_material = 0x7f06002c; + public static int abc_edit_text_inset_horizontal_material = 0x7f06002d; + public static int abc_edit_text_inset_top_material = 0x7f06002e; + public static int abc_floating_window_z = 0x7f06002f; + public static int abc_list_item_height_large_material = 0x7f060030; + public static int abc_list_item_height_material = 0x7f060031; + public static int abc_list_item_height_small_material = 0x7f060032; + public static int abc_list_item_padding_horizontal_material = 0x7f060033; + public static int abc_panel_menu_list_width = 0x7f060034; + public static int abc_progress_bar_height_material = 0x7f060035; + public static int abc_search_view_preferred_height = 0x7f060036; + public static int abc_search_view_preferred_width = 0x7f060037; + public static int abc_seekbar_track_background_height_material = 0x7f060038; + public static int abc_seekbar_track_progress_height_material = 0x7f060039; + public static int abc_select_dialog_padding_start_material = 0x7f06003a; + public static int abc_switch_padding = 0x7f06003b; + public static int abc_text_size_body_1_material = 0x7f06003c; + public static int abc_text_size_body_2_material = 0x7f06003d; + public static int abc_text_size_button_material = 0x7f06003e; + public static int abc_text_size_caption_material = 0x7f06003f; + public static int abc_text_size_display_1_material = 0x7f060040; + public static int abc_text_size_display_2_material = 0x7f060041; + public static int abc_text_size_display_3_material = 0x7f060042; + public static int abc_text_size_display_4_material = 0x7f060043; + public static int abc_text_size_headline_material = 0x7f060044; + public static int abc_text_size_large_material = 0x7f060045; + public static int abc_text_size_medium_material = 0x7f060046; + public static int abc_text_size_menu_header_material = 0x7f060047; + public static int abc_text_size_menu_material = 0x7f060048; + public static int abc_text_size_small_material = 0x7f060049; + public static int abc_text_size_subhead_material = 0x7f06004a; + public static int abc_text_size_subtitle_material_toolbar = 0x7f06004b; + public static int abc_text_size_title_material = 0x7f06004c; + public static int abc_text_size_title_material_toolbar = 0x7f06004d; + public static int activity_horizontal_margin = 0x7f06004e; + public static int activity_vertical_margin = 0x7f06004f; + public static int compat_button_inset_horizontal_material = 0x7f060050; + public static int compat_button_inset_vertical_material = 0x7f060051; + public static int compat_button_padding_horizontal_material = 0x7f060052; + public static int compat_button_padding_vertical_material = 0x7f060053; + public static int compat_control_corner_material = 0x7f060054; + public static int compat_notification_large_icon_max_height = 0x7f060055; + public static int compat_notification_large_icon_max_width = 0x7f060056; + public static int disabled_alpha_material_dark = 0x7f060057; + public static int disabled_alpha_material_light = 0x7f060058; + public static int highlight_alpha_material_colored = 0x7f060059; + public static int highlight_alpha_material_dark = 0x7f06005a; + public static int highlight_alpha_material_light = 0x7f06005b; + public static int hint_alpha_material_dark = 0x7f06005c; + public static int hint_alpha_material_light = 0x7f06005d; + public static int hint_pressed_alpha_material_dark = 0x7f06005e; + public static int hint_pressed_alpha_material_light = 0x7f06005f; + public static int notification_action_icon_size = 0x7f060060; + public static int notification_action_text_size = 0x7f060061; + public static int notification_big_circle_margin = 0x7f060062; + public static int notification_content_margin_start = 0x7f060063; + public static int notification_large_icon_height = 0x7f060064; + public static int notification_large_icon_width = 0x7f060065; + public static int notification_main_column_padding_top = 0x7f060066; + public static int notification_media_narrow_margin = 0x7f060067; + public static int notification_right_icon_size = 0x7f060068; + public static int notification_right_side_padding_top = 0x7f060069; + public static int notification_small_icon_background_padding = 0x7f06006a; + public static int notification_small_icon_size_as_large = 0x7f06006b; + public static int notification_subtext_size = 0x7f06006c; + public static int notification_top_pad = 0x7f06006d; + public static int notification_top_pad_large_text = 0x7f06006e; + public static int tooltip_corner_radius = 0x7f06006f; + public static int tooltip_horizontal_padding = 0x7f060070; + public static int tooltip_margin = 0x7f060071; + public static int tooltip_precise_anchor_extra_offset = 0x7f060072; + public static int tooltip_precise_anchor_threshold = 0x7f060073; + public static int tooltip_vertical_padding = 0x7f060074; + public static int tooltip_y_offset_non_touch = 0x7f060075; + public static int tooltip_y_offset_touch = 0x7f060076; + + private dimen() { + } + } + + public static final class drawable { + public static int abc_ab_share_pack_mtrl_alpha = 0x7f070000; + public static int abc_action_bar_item_background_material = 0x7f070001; + public static int abc_btn_borderless_material = 0x7f070002; + public static int abc_btn_check_material = 0x7f070003; + public static int abc_btn_check_material_anim = 0x7f070004; + public static int abc_btn_check_to_on_mtrl_000 = 0x7f070005; + public static int abc_btn_check_to_on_mtrl_015 = 0x7f070006; + public static int abc_btn_colored_material = 0x7f070007; + public static int abc_btn_default_mtrl_shape = 0x7f070008; + public static int abc_btn_radio_material = 0x7f070009; + public static int abc_btn_radio_material_anim = 0x7f07000a; + public static int abc_btn_radio_to_on_mtrl_000 = 0x7f07000b; + public static int abc_btn_radio_to_on_mtrl_015 = 0x7f07000c; + public static int abc_btn_switch_to_on_mtrl_00001 = 0x7f07000d; + public static int abc_btn_switch_to_on_mtrl_00012 = 0x7f07000e; + public static int abc_cab_background_internal_bg = 0x7f07000f; + public static int abc_cab_background_top_material = 0x7f070010; + public static int abc_cab_background_top_mtrl_alpha = 0x7f070011; + public static int abc_control_background_material = 0x7f070012; + public static int abc_dialog_material_background = 0x7f070013; + public static int abc_edit_text_material = 0x7f070014; + public static int abc_ic_ab_back_material = 0x7f070015; + public static int abc_ic_arrow_drop_right_black_24dp = 0x7f070016; + public static int abc_ic_clear_material = 0x7f070017; + public static int abc_ic_commit_search_api_mtrl_alpha = 0x7f070018; + public static int abc_ic_go_search_api_material = 0x7f070019; + public static int abc_ic_menu_copy_mtrl_am_alpha = 0x7f07001a; + public static int abc_ic_menu_cut_mtrl_alpha = 0x7f07001b; + public static int abc_ic_menu_overflow_material = 0x7f07001c; + public static int abc_ic_menu_paste_mtrl_am_alpha = 0x7f07001d; + public static int abc_ic_menu_selectall_mtrl_alpha = 0x7f07001e; + public static int abc_ic_menu_share_mtrl_alpha = 0x7f07001f; + public static int abc_ic_search_api_material = 0x7f070020; + public static int abc_ic_star_black_16dp = 0x7f070021; + public static int abc_ic_star_black_36dp = 0x7f070022; + public static int abc_ic_star_black_48dp = 0x7f070023; + public static int abc_ic_star_half_black_16dp = 0x7f070024; + public static int abc_ic_star_half_black_36dp = 0x7f070025; + public static int abc_ic_star_half_black_48dp = 0x7f070026; + public static int abc_ic_voice_search_api_material = 0x7f070027; + public static int abc_item_background_holo_dark = 0x7f070028; + public static int abc_item_background_holo_light = 0x7f070029; + public static int abc_list_divider_material = 0x7f07002a; + public static int abc_list_divider_mtrl_alpha = 0x7f07002b; + public static int abc_list_focused_holo = 0x7f07002c; + public static int abc_list_longpressed_holo = 0x7f07002d; + public static int abc_list_pressed_holo_dark = 0x7f07002e; + public static int abc_list_pressed_holo_light = 0x7f07002f; + public static int abc_list_selector_background_transition_holo_dark = 0x7f070030; + public static int abc_list_selector_background_transition_holo_light = 0x7f070031; + public static int abc_list_selector_disabled_holo_dark = 0x7f070032; + public static int abc_list_selector_disabled_holo_light = 0x7f070033; + public static int abc_list_selector_holo_dark = 0x7f070034; + public static int abc_list_selector_holo_light = 0x7f070035; + public static int abc_menu_hardkey_panel_mtrl_mult = 0x7f070036; + public static int abc_popup_background_mtrl_mult = 0x7f070037; + public static int abc_ratingbar_indicator_material = 0x7f070038; + public static int abc_ratingbar_material = 0x7f070039; + public static int abc_ratingbar_small_material = 0x7f07003a; + public static int abc_scrubber_control_off_mtrl_alpha = 0x7f07003b; + public static int abc_scrubber_control_to_pressed_mtrl_000 = 0x7f07003c; + public static int abc_scrubber_control_to_pressed_mtrl_005 = 0x7f07003d; + public static int abc_scrubber_primary_mtrl_alpha = 0x7f07003e; + public static int abc_scrubber_track_mtrl_alpha = 0x7f07003f; + public static int abc_seekbar_thumb_material = 0x7f070040; + public static int abc_seekbar_tick_mark_material = 0x7f070041; + public static int abc_seekbar_track_material = 0x7f070042; + public static int abc_spinner_mtrl_am_alpha = 0x7f070043; + public static int abc_spinner_textfield_background_material = 0x7f070044; + public static int abc_switch_thumb_material = 0x7f070045; + public static int abc_switch_track_mtrl_alpha = 0x7f070046; + public static int abc_tab_indicator_material = 0x7f070047; + public static int abc_tab_indicator_mtrl_alpha = 0x7f070048; + public static int abc_text_cursor_material = 0x7f070049; + public static int abc_text_select_handle_left_mtrl_dark = 0x7f07004a; + public static int abc_text_select_handle_left_mtrl_light = 0x7f07004b; + public static int abc_text_select_handle_middle_mtrl_dark = 0x7f07004c; + public static int abc_text_select_handle_middle_mtrl_light = 0x7f07004d; + public static int abc_text_select_handle_right_mtrl_dark = 0x7f07004e; + public static int abc_text_select_handle_right_mtrl_light = 0x7f07004f; + public static int abc_textfield_activated_mtrl_alpha = 0x7f070050; + public static int abc_textfield_default_mtrl_alpha = 0x7f070051; + public static int abc_textfield_search_activated_mtrl_alpha = 0x7f070052; + public static int abc_textfield_search_default_mtrl_alpha = 0x7f070053; + public static int abc_textfield_search_material = 0x7f070054; + public static int abc_vector_test = 0x7f070055; + public static int black_border = 0x7f070056; + public static int btn_checkbox_checked_mtrl = 0x7f070057; + public static int btn_checkbox_checked_to_unchecked_mtrl_animation = 0x7f070058; + public static int btn_checkbox_unchecked_mtrl = 0x7f070059; + public static int btn_checkbox_unchecked_to_checked_mtrl_animation = 0x7f07005a; + public static int btn_radio_off_mtrl = 0x7f07005b; + public static int btn_radio_off_to_on_mtrl_animation = 0x7f07005c; + public static int btn_radio_on_mtrl = 0x7f07005d; + public static int btn_radio_on_to_off_mtrl_animation = 0x7f07005e; + public static int button_shape = 0x7f07005f; + public static int decode_background = 0x7f070060; + public static int feedback_shape_orange = 0x7f070061; + public static int ic_arrow_back_black_24dp = 0x7f070062; + public static int ic_check_circle = 0x7f070063; + public static int ic_error = 0x7f070064; + public static int ic_error_yellow = 0x7f070065; + public static int ic_launcher = 0x7f070066; + public static int ic_warning = 0x7f070067; + public static int icon_menu = 0x7f070068; + public static int icon_robotcontroller = 0x7f070069; + public static int notification_action_background = 0x7f07006a; + public static int notification_bg = 0x7f07006b; + public static int notification_bg_low = 0x7f07006c; + public static int notification_bg_low_normal = 0x7f07006d; + public static int notification_bg_low_pressed = 0x7f07006e; + public static int notification_bg_normal = 0x7f07006f; + public static int notification_bg_normal_pressed = 0x7f070070; + public static int notification_icon_background = 0x7f070071; + public static int notification_template_icon_bg = 0x7f070072; + public static int notification_template_icon_low_bg = 0x7f070073; + public static int notification_tile_bg = 0x7f070074; + public static int notify_panel_notification_icon_bg = 0x7f070075; + public static int tooltip_frame_dark = 0x7f070076; + public static int tooltip_frame_light = 0x7f070077; + + private drawable() { + } + } + + public static final class id { + public static int accessibility_action_clickable_span = 0x7f080007; + public static int accessibility_custom_action_0 = 0x7f080008; + public static int accessibility_custom_action_1 = 0x7f080009; + public static int accessibility_custom_action_10 = 0x7f08000a; + public static int accessibility_custom_action_11 = 0x7f08000b; + public static int accessibility_custom_action_12 = 0x7f08000c; + public static int accessibility_custom_action_13 = 0x7f08000d; + public static int accessibility_custom_action_14 = 0x7f08000e; + public static int accessibility_custom_action_15 = 0x7f08000f; + public static int accessibility_custom_action_16 = 0x7f080010; + public static int accessibility_custom_action_17 = 0x7f080011; + public static int accessibility_custom_action_18 = 0x7f080012; + public static int accessibility_custom_action_19 = 0x7f080013; + public static int accessibility_custom_action_2 = 0x7f080014; + public static int accessibility_custom_action_20 = 0x7f080015; + public static int accessibility_custom_action_21 = 0x7f080016; + public static int accessibility_custom_action_22 = 0x7f080017; + public static int accessibility_custom_action_23 = 0x7f080018; + public static int accessibility_custom_action_24 = 0x7f080019; + public static int accessibility_custom_action_25 = 0x7f08001a; + public static int accessibility_custom_action_26 = 0x7f08001b; + public static int accessibility_custom_action_27 = 0x7f08001c; + public static int accessibility_custom_action_28 = 0x7f08001d; + public static int accessibility_custom_action_29 = 0x7f08001e; + public static int accessibility_custom_action_3 = 0x7f08001f; + public static int accessibility_custom_action_30 = 0x7f080020; + public static int accessibility_custom_action_31 = 0x7f080021; + public static int accessibility_custom_action_4 = 0x7f080022; + public static int accessibility_custom_action_5 = 0x7f080023; + public static int accessibility_custom_action_6 = 0x7f080024; + public static int accessibility_custom_action_7 = 0x7f080025; + public static int accessibility_custom_action_8 = 0x7f080026; + public static int accessibility_custom_action_9 = 0x7f080027; + public static int action_bar = 0x7f080029; + public static int action_bar_activity_content = 0x7f08002a; + public static int action_bar_container = 0x7f08002b; + public static int action_bar_root = 0x7f08002c; + public static int action_bar_spinner = 0x7f08002d; + public static int action_bar_subtitle = 0x7f08002e; + public static int action_bar_title = 0x7f08002f; + public static int action_container = 0x7f080031; + public static int action_context_bar = 0x7f080032; + public static int action_divider = 0x7f080033; + public static int action_image = 0x7f080035; + public static int action_menu_divider = 0x7f080037; + public static int action_menu_presenter = 0x7f080038; + public static int action_mode_bar = 0x7f080039; + public static int action_mode_bar_stub = 0x7f08003a; + public static int action_mode_close_button = 0x7f08003b; + public static int action_text = 0x7f08003f; + public static int actions = 0x7f080040; + public static int activity_chooser_view_content = 0x7f080041; + public static int add = 0x7f080042; + public static int addButton = 0x7f080043; + public static int airplaneMode = 0x7f080044; + public static int airplaneModeLayout = 0x7f080045; + public static int airplaneMode_img = 0x7f080046; + public static int alertTitle = 0x7f080047; + public static int androidVersion = 0x7f080049; + public static int androidVersionLayout = 0x7f08004a; + public static int androidVersion_img = 0x7f08004b; + public static int any = 0x7f08004c; + public static int applyButton = 0x7f08004d; + public static int appsInstalled = 0x7f08004e; + public static int async = 0x7f08004f; + public static int attached_title = 0x7f080050; + public static int autoInspectQr = 0x7f080051; + public static int back = 0x7f080052; + public static int backButton = 0x7f080053; + public static int backbar = 0x7f080054; + public static int backgroundDarkGrayHolder = 0x7f080055; + public static int backgroundLightHolder = 0x7f080056; + public static int backgroundMediumHolder = 0x7f080057; + public static int bannerParent = 0x7f080058; + public static int batteryLevel = 0x7f080059; + public static int blocking = 0x7f08005b; + public static int bluetoothEnabled = 0x7f08005c; + public static int bluetoothEnabled_img = 0x7f08005d; + public static int bottom = 0x7f08005e; + public static int buttonList = 0x7f08005f; + public static int buttonPanel = 0x7f080060; + public static int bytesPerSecond = 0x7f080061; + public static int bytesPerSecondLabel = 0x7f080062; + public static int cameraName = 0x7f080064; + public static int cancelButton = 0x7f080065; + public static int centerCrop = 0x7f080066; + public static int channelPickList = 0x7f080068; + public static int checkbox = 0x7f080069; + public static int checkbox_port = 0x7f08006a; + public static int checked = 0x7f08006b; + public static int choiceMotorSpinner = 0x7f08006c; + public static int choiceSpinner = 0x7f08006d; + public static int chronometer = 0x7f08006e; + public static int colorSwatch = 0x7f080070; + public static int configIsReadOnlyFeedback = 0x7f080071; + public static int configureButton = 0x7f080072; + public static int configureFromTemplate = 0x7f080073; + public static int configureFromTemplateArea = 0x7f080074; + public static int connectedToDevice = 0x7f080075; + public static int connectedToLayout = 0x7f080076; + public static int connectedTo_img = 0x7f080077; + public static int container = 0x7f080078; + public static int content = 0x7f080079; + public static int contentPanel = 0x7f08007a; + public static int controller_name = 0x7f08007b; + public static int controller_name_prompt_text = 0x7f08007c; + public static int controllersList = 0x7f08007d; + public static int countdownDescription = 0x7f08007e; + public static int countdownNumber = 0x7f08007f; + public static int custom = 0x7f080080; + public static int customPanel = 0x7f080081; + public static int darker_gray_line = 0x7f080082; + public static int decor_content_parent = 0x7f080083; + public static int default_activity_button = 0x7f080084; + public static int devices_holder = 0x7f080085; + public static int devices_info_btn = 0x7f080086; + public static int dialog_button = 0x7f080087; + public static int disable_bluetooth = 0x7f080089; + public static int disconnect_from_wifidirect = 0x7f08008a; + public static int divider = 0x7f08008b; + public static int doneButton = 0x7f08008c; + public static int dropdown_layout = 0x7f08008d; + public static int editTextResult = 0x7f08008e; + public static int edit_controller_btn = 0x7f08008f; + public static int edit_query = 0x7f080090; + public static int empty_filelist = 0x7f080091; + public static int end = 0x7f080092; + public static int entire_screen = 0x7f080093; + public static int ethernetDeviceIpAddress = 0x7f080094; + public static int ethernetDeviceName = 0x7f080095; + public static int expand_activities_button = 0x7f080096; + public static int expanded_menu = 0x7f080097; + public static int explanationText = 0x7f080098; + public static int feedback = 0x7f080099; + public static int feedbackAnchor = 0x7f08009a; + public static int feedbackAnchorDuplicateNames = 0x7f08009b; + public static int feedbackOKButton = 0x7f08009c; + public static int feedbackText0 = 0x7f08009d; + public static int feedbackText1 = 0x7f08009e; + public static int file_activate_button = 0x7f08009f; + public static int file_buttons = 0x7f0800a0; + public static int file_delete_button = 0x7f0800a1; + public static int file_edit_button = 0x7f0800a2; + public static int file_info_layout = 0x7f0800a3; + public static int filename_editText = 0x7f0800a4; + public static int files_holder = 0x7f0800a5; + public static int fitCenter = 0x7f0800a6; + public static int fitXY = 0x7f0800a7; + public static int fixButton = 0x7f0800a8; + public static int forever = 0x7f0800a9; + public static int front = 0x7f0800aa; + public static int groupList = 0x7f0800ab; + public static int group_divider = 0x7f0800ac; + public static int header = 0x7f0800ad; + public static int header_error_message = 0x7f0800ae; + public static int holds_buttons = 0x7f0800af; + public static int home = 0x7f0800b0; + public static int horizontalButtons = 0x7f0800b2; + public static int hubFirmwareExtraLine = 0x7f0800b3; + public static int hubFirmwareExtraLine_img = 0x7f0800b4; + public static int hubFirmwareExtraLine_layout = 0x7f0800b5; + public static int hubFirmwarePrimaryLine = 0x7f0800b6; + public static int hubFirmwarePrimaryLine_layout = 0x7f0800b7; + public static int hubFirmware_img = 0x7f0800b8; + public static int icon = 0x7f0800b9; + public static int icon_group = 0x7f0800ba; + public static int idActiveConfigHeader = 0x7f0800bb; + public static int idActiveConfigName = 0x7f0800bc; + public static int image = 0x7f0800be; + public static int imageView = 0x7f0800bf; + public static int included_header = 0x7f0800c0; + public static int inclusionlayout = 0x7f0800c1; + public static int info = 0x7f0800c2; + public static int infoButton = 0x7f0800c3; + public static int info_btn = 0x7f0800c4; + public static int inspectionRootLayout = 0x7f0800c5; + public static int invalidQr = 0x7f0800c6; + public static int ipAddressExplanationLabel = 0x7f0800c7; + public static int isDSInstalled = 0x7f0800c8; + public static int isDefaultPassword = 0x7f0800c9; + public static int isDefaultPassword_img = 0x7f0800ca; + public static int isRCInstalled = 0x7f0800cb; + public static int italic = 0x7f0800cc; + public static int item_list_parent = 0x7f0800cd; + public static int labelManufacturer = 0x7f0800ce; + public static int labelModel = 0x7f0800cf; + public static int labelWifiName = 0x7f0800d0; + public static int line1 = 0x7f0800d1; + public static int line3 = 0x7f0800d2; + public static int linearLayout = 0x7f0800d3; + public static int listMode = 0x7f0800d4; + public static int list_item = 0x7f0800d5; + public static int load_bottom = 0x7f0800d6; + public static int loadingIndicator = 0x7f0800d7; + public static int loadingIndicatorOverlay = 0x7f0800d8; + public static int locationEnabled = 0x7f0800d9; + public static int locationEnabled_img = 0x7f0800da; + public static int locationLabel = 0x7f0800db; + public static int lynxAddressButtons = 0x7f0800dc; + public static int lynxFirmwareAvailableFilesGroup = 0x7f0800dd; + public static int lynxFirmwareFilesHeader = 0x7f0800de; + public static int lynxFirmwareHubsHeader = 0x7f0800df; + public static int lynxFirmwareInstructionsPost = 0x7f0800e0; + public static int lynxFirmwareModuleList = 0x7f0800e1; + public static int lynxFirmwareUpdateButton = 0x7f0800e2; + public static int lynxUsbDeviceModules = 0x7f0800e3; + public static int lynxUsbDeviceName = 0x7f0800e4; + public static int lynx_module_devices = 0x7f0800e5; + public static int lynx_module_name = 0x7f0800e6; + public static int matchesDSVersionLabel = 0x7f0800e7; + public static int matchesDSVersion_img = 0x7f0800e8; + public static int matchesDSVersion_txt = 0x7f0800e9; + public static int menu_buttons = 0x7f0800ea; + public static int message = 0x7f0800eb; + public static int moduleAddressText = 0x7f0800ed; + public static int multiply = 0x7f0800ef; + public static int new_button = 0x7f0800f1; + public static int noDevicesNotice = 0x7f0800f2; + public static int none = 0x7f0800f3; + public static int normal = 0x7f0800f4; + public static int notification_background = 0x7f0800f5; + public static int notification_main_column = 0x7f0800f6; + public static int notification_main_column_container = 0x7f0800f7; + public static int off = 0x7f0800f8; + public static int okButton = 0x7f0800f9; + public static int on = 0x7f0800fa; + public static int orange_end_of_list_anchor = 0x7f0800fb; + public static int osVersion = 0x7f0800fc; + public static int osVersionLabel = 0x7f0800fd; + public static int osVersionLayout = 0x7f0800fe; + public static int osVersion_img = 0x7f0800ff; + public static int parentPanel = 0x7f080100; + public static int permDeniedText = 0x7f080101; + public static int portNumber = 0x7f080102; + public static int port_number = 0x7f080103; + public static int port_title = 0x7f080104; + public static int portalList = 0x7f080105; + public static int portalSerialText = 0x7f080106; + public static int progress_circular = 0x7f080107; + public static int progress_horizontal = 0x7f080108; + public static int radio = 0x7f080109; + public static int rcPasswordLayout = 0x7f08010a; + public static int readOnlyExplanation = 0x7f08010b; + public static int right_icon = 0x7f08010c; + public static int right_side = 0x7f08010d; + public static int robotControllerNameLabel = 0x7f08010e; + public static int robotIcon = 0x7f08010f; + public static int row_port = 0x7f080110; + public static int row_port_digital_device = 0x7f080111; + public static int row_port_i2c = 0x7f080112; + public static int scanButton = 0x7f080113; + public static int screen = 0x7f080114; + public static int scrollIndicatorDown = 0x7f080115; + public static int scrollIndicatorUp = 0x7f080116; + public static int scrollView = 0x7f080117; + public static int search_badge = 0x7f080118; + public static int search_bar = 0x7f080119; + public static int search_button = 0x7f08011a; + public static int search_close_btn = 0x7f08011b; + public static int search_edit_frame = 0x7f08011c; + public static int search_go_btn = 0x7f08011d; + public static int search_mag_icon = 0x7f08011e; + public static int search_plate = 0x7f08011f; + public static int search_src_text = 0x7f080120; + public static int search_voice_btn = 0x7f080121; + public static int select_dialog_listview = 0x7f080122; + public static int serialNumber = 0x7f080123; + public static int shortcut = 0x7f080124; + public static int spacer = 0x7f080128; + public static int spinnerChooseAddress = 0x7f080129; + public static int split_action_bar = 0x7f08012a; + public static int src_atop = 0x7f08012b; + public static int src_in = 0x7f08012c; + public static int src_over = 0x7f08012d; + public static int submenuarrow = 0x7f08012e; + public static int submit_area = 0x7f08012f; + public static int swapButton = 0x7f080130; + public static int swapCaption = 0x7f080131; + public static int tabMode = 0x7f080132; + public static int tableLayout = 0x7f080133; + public static int tableLayout_analog_input_devices = 0x7f080134; + public static int table_header = 0x7f080135; + public static int tag_accessibility_actions = 0x7f080136; + public static int tag_accessibility_clickable_spans = 0x7f080137; + public static int tag_accessibility_heading = 0x7f080138; + public static int tag_accessibility_pane_title = 0x7f080139; + public static int tag_screen_reader_focusable = 0x7f08013a; + public static int tag_transition_group = 0x7f08013b; + public static int tag_unhandled_key_event_manager = 0x7f08013c; + public static int tag_unhandled_key_listeners = 0x7f08013d; + public static int templateList = 0x7f08013e; + public static int templateListCaption = 0x7f08013f; + public static int templateNameText = 0x7f080140; + public static int text = 0x7f080141; + public static int text2 = 0x7f080142; + public static int textDeviceName = 0x7f080143; + public static int textSpacerNoButtons = 0x7f08014a; + public static int textSpacerNoTitle = 0x7f08014b; + public static int textView = 0x7f08014c; + public static int textView10 = 0x7f08014d; + public static int textView11 = 0x7f08014e; + public static int textView12 = 0x7f08014f; + public static int textView13 = 0x7f080150; + public static int textView3 = 0x7f080151; + public static int textView4 = 0x7f080152; + public static int textView7 = 0x7f080153; + public static int textView8 = 0x7f080154; + public static int textView9 = 0x7f080155; + public static int textViewHubFirmware = 0x7f080156; + public static int textViewPassword = 0x7f080157; + public static int time = 0x7f080158; + public static int title = 0x7f080159; + public static int titleDividerNoCustom = 0x7f08015a; + public static int titleTextView = 0x7f08015b; + public static int title_template = 0x7f08015c; + public static int top = 0x7f08015d; + public static int topPanel = 0x7f08015e; + public static int top_bar = 0x7f08015f; + public static int trafficCount = 0x7f080160; + public static int trafficCountLabel = 0x7f080161; + public static int txtIsDSInstalled = 0x7f080162; + public static int txtIsDSInstalled_img = 0x7f080163; + public static int txtIsRCInstalled = 0x7f080164; + public static int txtIsRCInstalled_img = 0x7f080165; + public static int txtManufacturer = 0x7f080166; + public static int txtModel = 0x7f080167; + public static int unchecked = 0x7f080168; + public static int uniform = 0x7f080169; + public static int up = 0x7f08016a; + public static int webView = 0x7f08016c; + public static int wifiConnected = 0x7f08016e; + public static int wifiConnected_img = 0x7f08016f; + public static int wifiDisabledNotification = 0x7f080170; + public static int wifiEnabled = 0x7f080171; + public static int wifiEnabled_img = 0x7f080172; + public static int wifiName = 0x7f080173; + public static int wifiName_img = 0x7f080174; + public static int wrap_content = 0x7f080176; + public static int zoomInButton = 0x7f080177; + public static int zoomOutButton = 0x7f080178; + public static int zxing_back_button = 0x7f080179; + public static int zxing_barcode_scanner = 0x7f08017a; + public static int zxing_barcode_surface = 0x7f08017b; + public static int zxing_camera_closed = 0x7f08017c; + public static int zxing_camera_error = 0x7f08017d; + public static int zxing_decode = 0x7f08017e; + public static int zxing_decode_failed = 0x7f08017f; + public static int zxing_decode_succeeded = 0x7f080180; + public static int zxing_possible_result_points = 0x7f080181; + public static int zxing_preview_failed = 0x7f080182; + public static int zxing_prewiew_size_ready = 0x7f080183; + public static int zxing_status_view = 0x7f080184; + public static int zxing_viewfinder_view = 0x7f080185; + + private id() { + } + } + + public static final class integer { + public static int abc_config_activityDefaultDur = 0x7f090000; + public static int abc_config_activityShortDur = 0x7f090001; + public static int cancel_button_image_alpha = 0x7f090002; + public static int config_tooltipAnimTime = 0x7f090003; + public static int status_bar_notification_info_maxnum = 0x7f090004; + + private integer() { + } + } + + public static final class interpolator { + public static int btn_checkbox_checked_mtrl_animation_interpolator_0 = 0x7f0a0000; + public static int btn_checkbox_checked_mtrl_animation_interpolator_1 = 0x7f0a0001; + public static int btn_checkbox_unchecked_mtrl_animation_interpolator_0 = 0x7f0a0002; + public static int btn_checkbox_unchecked_mtrl_animation_interpolator_1 = 0x7f0a0003; + public static int btn_radio_to_off_mtrl_animation_interpolator_0 = 0x7f0a0004; + public static int btn_radio_to_on_mtrl_animation_interpolator_0 = 0x7f0a0005; + public static int fast_out_slow_in = 0x7f0a0006; + + private interpolator() { + } + } + + public static final class layout { + public static int abc_action_bar_title_item = 0x7f0b0000; + public static int abc_action_bar_up_container = 0x7f0b0001; + public static int abc_action_menu_item_layout = 0x7f0b0002; + public static int abc_action_menu_layout = 0x7f0b0003; + public static int abc_action_mode_bar = 0x7f0b0004; + public static int abc_action_mode_close_item_material = 0x7f0b0005; + public static int abc_activity_chooser_view = 0x7f0b0006; + public static int abc_activity_chooser_view_list_item = 0x7f0b0007; + public static int abc_alert_dialog_button_bar_material = 0x7f0b0008; + public static int abc_alert_dialog_material = 0x7f0b0009; + public static int abc_alert_dialog_title_material = 0x7f0b000a; + public static int abc_cascading_menu_item_layout = 0x7f0b000b; + public static int abc_dialog_title_material = 0x7f0b000c; + public static int abc_expanded_menu_layout = 0x7f0b000d; + public static int abc_list_menu_item_checkbox = 0x7f0b000e; + public static int abc_list_menu_item_icon = 0x7f0b000f; + public static int abc_list_menu_item_layout = 0x7f0b0010; + public static int abc_list_menu_item_radio = 0x7f0b0011; + public static int abc_popup_menu_header_item_layout = 0x7f0b0012; + public static int abc_popup_menu_item_layout = 0x7f0b0013; + public static int abc_screen_content_include = 0x7f0b0014; + public static int abc_screen_simple = 0x7f0b0015; + public static int abc_screen_simple_overlay_action_mode = 0x7f0b0016; + public static int abc_screen_toolbar = 0x7f0b0017; + public static int abc_search_dropdown_item_icons_2line = 0x7f0b0018; + public static int abc_search_view = 0x7f0b0019; + public static int abc_select_dialog_material = 0x7f0b001a; + public static int abc_tooltip = 0x7f0b001b; + public static int activity_configure_from_template = 0x7f0b001c; + public static int activity_ftc_configuration = 0x7f0b001d; + public static int activity_ftc_lynx_address_update = 0x7f0b001f; + public static int activity_ftc_lynx_fw_update = 0x7f0b0020; + public static int activity_ftc_wifi_channel_selector = 0x7f0b0021; + public static int activity_ftc_wifi_remembered_groups = 0x7f0b0022; + public static int activity_generic_settings = 0x7f0b0023; + public static int activity_inspection = 0x7f0b0024; + public static int activity_load = 0x7f0b0025; + public static int activity_permissions_validator = 0x7f0b0026; + public static int activity_program_and_manage = 0x7f0b0027; + public static int activity_stacktrace = 0x7f0b0028; + public static int activity_swap_usb_devices = 0x7f0b0029; + public static int activity_view_logs = 0x7f0b002a; + public static int analog_input_device = 0x7f0b002b; + public static int analog_inputs = 0x7f0b002c; + public static int backbar_layout = 0x7f0b002d; + public static int banner_parent = 0x7f0b002e; + public static int button_list = 0x7f0b002f; + public static int color_list_preference_line_item = 0x7f0b0030; + public static int custom_dialog = 0x7f0b0031; + public static int digital_device = 0x7f0b0032; + public static int digital_device_lynx = 0x7f0b0033; + public static int digital_devices = 0x7f0b0034; + public static int empty = 0x7f0b0035; + public static int ethernet_device = 0x7f0b0036; + public static int feedback = 0x7f0b0037; + public static int file_info = 0x7f0b0038; + public static int fragment_wifi_mute = 0x7f0b0039; + public static int gray_line = 0x7f0b003a; + public static int header = 0x7f0b003b; + public static int i2c_device = 0x7f0b003c; + public static int i2cs = 0x7f0b003d; + public static int info_button = 0x7f0b003e; + public static int item_list_parent = 0x7f0b003f; + public static int loading_indicator_overlay = 0x7f0b0040; + public static int lynx_module = 0x7f0b0041; + public static int lynx_module_configure_address = 0x7f0b0042; + public static int lynx_portal_configure_addresses = 0x7f0b0043; + public static int lynx_usb_device = 0x7f0b0044; + public static int motor = 0x7f0b0045; + public static int motor_controller_banner = 0x7f0b0046; + public static int motor_list = 0x7f0b0047; + public static int notification_action = 0x7f0b0048; + public static int notification_action_tombstone = 0x7f0b0049; + public static int notification_template_custom_big = 0x7f0b004a; + public static int notification_template_icon_group = 0x7f0b004b; + public static int notification_template_part_chronometer = 0x7f0b004c; + public static int notification_template_part_time = 0x7f0b004d; + public static int port_attached_row = 0x7f0b004e; + public static int pwm_device = 0x7f0b004f; + public static int pwms = 0x7f0b0050; + public static int red_line = 0x7f0b0051; + public static int select_dialog_item_material = 0x7f0b0052; + public static int select_dialog_multichoice_material = 0x7f0b0053; + public static int select_dialog_singlechoice_material = 0x7f0b0054; + public static int servo = 0x7f0b0055; + public static int servo_list = 0x7f0b0056; + public static int simple_device = 0x7f0b0057; + public static int support_simple_spinner_dropdown_item = 0x7f0b0058; + public static int template_info = 0x7f0b0059; + public static int webcam_device = 0x7f0b005a; + public static int zxing_barcode_scanner = 0x7f0b005b; + public static int zxing_capture = 0x7f0b005c; + + private layout() { + } + } + + public static final class menu { + public static int inspection_menu_rc_remote = 0x7f0c0001; + public static int inspection_menu_rcds_local = 0x7f0c0002; + + private menu() { + } + } + + public static final class raw { + public static int chimeconnect = 0x7f0d0000; + public static int chimedisconnect = 0x7f0d0001; + public static int color_fragment_shader = 0x7f0d0002; + public static int cube_mesh_fragment_shader = 0x7f0d0003; + public static int cube_mesh_vertex_shader = 0x7f0d0004; + public static int errormessage = 0x7f0d0005; + public static int nxtstartupsound = 0x7f0d0007; + public static int rev_bhi260_ap_fw_20 = 0x7f0d0009; + public static int simple_vertex_shader = 0x7f0d000b; + public static int ss_alarm = 0x7f0d000c; + public static int ss_bb8_down = 0x7f0d000d; + public static int ss_bb8_up = 0x7f0d000e; + public static int ss_darth_vader = 0x7f0d000f; + public static int ss_fly_by = 0x7f0d0010; + public static int ss_laser = 0x7f0d0011; + public static int ss_laser_burst = 0x7f0d0012; + public static int ss_light_saber = 0x7f0d0013; + public static int ss_light_saber_long = 0x7f0d0014; + public static int ss_light_saber_short = 0x7f0d0015; + public static int ss_light_speed = 0x7f0d0016; + public static int ss_mf_fail = 0x7f0d0017; + public static int ss_mine = 0x7f0d0018; + public static int ss_power_up = 0x7f0d0019; + public static int ss_r2d2_up = 0x7f0d001a; + public static int ss_roger_roger = 0x7f0d001b; + public static int ss_siren = 0x7f0d001c; + public static int ss_wookie = 0x7f0d001d; + public static int texture_fragment_shader = 0x7f0d001e; + public static int texture_vertex_shader = 0x7f0d001f; + public static int warningmessage = 0x7f0d0020; + public static int zxing_beep = 0x7f0d0021; + + private raw() { + } + } + + public static final class string { + public static int abc_action_bar_home_description = 0x7f0e0000; + public static int abc_action_bar_up_description = 0x7f0e0001; + public static int abc_action_menu_overflow_description = 0x7f0e0002; + public static int abc_action_mode_done = 0x7f0e0003; + public static int abc_activity_chooser_view_see_all = 0x7f0e0004; + public static int abc_activitychooserview_choose_application = 0x7f0e0005; + public static int abc_capital_off = 0x7f0e0006; + public static int abc_capital_on = 0x7f0e0007; + public static int abc_menu_alt_shortcut_label = 0x7f0e0008; + public static int abc_menu_ctrl_shortcut_label = 0x7f0e0009; + public static int abc_menu_delete_shortcut_label = 0x7f0e000a; + public static int abc_menu_enter_shortcut_label = 0x7f0e000b; + public static int abc_menu_function_shortcut_label = 0x7f0e000c; + public static int abc_menu_meta_shortcut_label = 0x7f0e000d; + public static int abc_menu_shift_shortcut_label = 0x7f0e000e; + public static int abc_menu_space_shortcut_label = 0x7f0e000f; + public static int abc_menu_sym_shortcut_label = 0x7f0e0010; + public static int abc_prepend_shortcut_label = 0x7f0e0011; + public static int abc_search_hint = 0x7f0e0012; + public static int abc_searchview_description_clear = 0x7f0e0013; + public static int abc_searchview_description_query = 0x7f0e0014; + public static int abc_searchview_description_search = 0x7f0e0015; + public static int abc_searchview_description_submit = 0x7f0e0016; + public static int abc_searchview_description_voice = 0x7f0e0017; + public static int abc_shareactionprovider_share_with = 0x7f0e0018; + public static int abc_shareactionprovider_share_with_application = 0x7f0e0019; + public static int abc_toolbar_collapse_description = 0x7f0e001a; + public static int about_activity = 0x7f0e001b; + public static int about_app_version = 0x7f0e001c; + public static int about_build_time = 0x7f0e001d; + public static int about_ch_os_version = 0x7f0e001e; + public static int about_dh_os_version = 0x7f0e001f; + public static int about_library_version = 0x7f0e0020; + public static int about_network_connection_info = 0x7f0e0022; + public static int about_network_protocol_version = 0x7f0e0023; + public static int about_wifi_connected = 0x7f0e0024; + public static int about_wifi_direct_info = 0x7f0e0025; + public static int about_wifi_group_owner = 0x7f0e0026; + public static int about_wifi_ip = 0x7f0e0027; + public static int about_wifi_is_group_owner = 0x7f0e0028; + public static int about_wifi_name = 0x7f0e0029; + public static int about_wifi_no_info = 0x7f0e002a; + public static int about_wifi_passphrase = 0x7f0e002b; + public static int action_configuration = 0x7f0e002c; + public static int action_settings = 0x7f0e002d; + public static int action_wifi_channel_selector = 0x7f0e002e; + public static int actionlistenerfailure_busy = 0x7f0e002f; + public static int actionlistenerfailure_error = 0x7f0e0030; + public static int actionlistenerfailure_nop2p = 0x7f0e0031; + public static int actionlistenerfailure_nosevicerequests = 0x7f0e0032; + public static int actionlistenerfailure_nowifi = 0x7f0e0033; + public static int actionlistenerfailure_unknown = 0x7f0e0034; + public static int activeConfigCaption = 0x7f0e0035; + public static int active_connections_label = 0x7f0e0036; + public static int adafruit_imu_description = 0x7f0e0037; + public static int adafruit_imu_name = 0x7f0e0038; + public static int airplaneModeLabel = 0x7f0e0039; + public static int airplaneModeOnContext = 0x7f0e003a; + public static int alertLynxFirmwareUpdateFailed = 0x7f0e003b; + public static int alertLynxFirmwareUpdateFailedTitle = 0x7f0e003c; + public static int alertLynxFirmwareUpdateFailedWithReason = 0x7f0e003d; + public static int alertLynxFirmwareUpdateTimedout = 0x7f0e003e; + public static int alertMessageNoActionGetContent = 0x7f0e003f; + public static int alertTitleRobotControllerConsole = 0x7f0e0040; + public static int androidVersionLabel = 0x7f0e0041; + public static int anotherDsIsConnectedError = 0x7f0e0042; + public static int appDsIsObsoleteContext = 0x7f0e0043; + public static int appNameDriverStation = 0x7f0e0044; + public static int appNameRobotController = 0x7f0e0045; + public static int appNameUnknown = 0x7f0e0046; + public static int appRcIsObsoleteContext = 0x7f0e0047; + public static int appThemeChangeRestartNotifyDS = 0x7f0e0048; + public static int appThemeChangeRestartNotifyRC = 0x7f0e0049; + public static int app_name = 0x7f0e004a; + public static int app_result_type_attempting_installation = 0x7f0e004b; + public static int app_result_type_auto_updated_app = 0x7f0e004c; + public static int app_result_type_backup_uninstalling_existing_app = 0x7f0e004d; + public static int app_result_type_failed_and_reverted = 0x7f0e004e; + public static int app_result_type_failed_to_restore = 0x7f0e004f; + public static int app_result_type_generic_install_failure = 0x7f0e0050; + public static int app_result_type_illegal_package = 0x7f0e0051; + public static int app_result_type_incompatible_with_device = 0x7f0e0052; + public static int app_result_type_installation_aborted = 0x7f0e0053; + public static int app_result_type_installation_blocked = 0x7f0e0054; + public static int app_result_type_installation_succeeded = 0x7f0e0055; + public static int app_result_type_installed_missing_app = 0x7f0e0056; + public static int app_result_type_invalid_apk_file = 0x7f0e0057; + public static int app_result_type_io_exception = 0x7f0e0058; + public static int app_result_type_rebooting_with_new_ap_service = 0x7f0e0059; + public static int app_result_type_replaced_wrong_app_variant = 0x7f0e005a; + public static int app_result_type_storage_failure = 0x7f0e005b; + public static int app_result_type_timeout_expired = 0x7f0e005c; + public static int app_result_type_uninstall_failed = 0x7f0e005d; + public static int app_result_type_uninstall_required = 0x7f0e005e; + public static int app_result_type_uninstall_required_backup_possible = 0x7f0e005f; + public static int app_result_type_uninstalled_wrong_app_variant = 0x7f0e0060; + public static int app_result_type_uninstalling_existing_app = 0x7f0e0061; + public static int app_result_type_unknown_install_status = 0x7f0e0062; + public static int app_version = 0x7f0e0063; + public static int appsInstalledLabel = 0x7f0e0064; + public static int attached = 0x7f0e0065; + public static int availableConfigListCaption = 0x7f0e0066; + public static int availableConfigsInfoMessage = 0x7f0e0067; + public static int availableTemplateListCaption = 0x7f0e0068; + public static int batteryLevelLabel = 0x7f0e0069; + public static int blocks_activity = 0x7f0e006a; + public static int bluetoothLabel = 0x7f0e006c; + public static int bluetoothOnContext = 0x7f0e006d; + public static int buttonExitWithoutSaving = 0x7f0e006e; + public static int buttonNameAdd = 0x7f0e006f; + public static int buttonNameApply = 0x7f0e0070; + public static int buttonNameCancel = 0x7f0e0071; + public static int buttonNameConfigure = 0x7f0e0072; + public static int buttonNameConfigureModuleAddress = 0x7f0e0073; + public static int buttonNameDone = 0x7f0e0074; + public static int buttonNameFix = 0x7f0e0075; + public static int buttonNameInfo = 0x7f0e0076; + public static int buttonNameNew = 0x7f0e0077; + public static int buttonNameOK = 0x7f0e0078; + public static int buttonNameSave = 0x7f0e0079; + public static int buttonNameScan = 0x7f0e007a; + public static int buttonNameSwap = 0x7f0e007b; + public static int buttonWirelessApSettingsLabel = 0x7f0e007c; + public static int bytesPerSecondLabel = 0x7f0e007d; + public static int captionAvailableSwapDevices = 0x7f0e007e; + public static int captionAvailableUsbDevices = 0x7f0e007f; + public static int ch_updater_not_supported = 0x7f0e0080; + public static int choice_prompt = 0x7f0e0081; + public static int choice_prompt_analogInput = 0x7f0e0082; + public static int choice_prompt_analogOutput = 0x7f0e0083; + public static int choice_prompt_digital_device = 0x7f0e0084; + public static int choice_prompt_i2c = 0x7f0e0085; + public static int choice_prompt_module_address = 0x7f0e0086; + public static int choice_prompt_motor = 0x7f0e0087; + public static int choice_prompt_servo = 0x7f0e0088; + public static int clear_remembered_groups = 0x7f0e0089; + public static int common_result_type_busy_with_previous_request = 0x7f0e008a; + public static int common_result_type_file_does_not_exist = 0x7f0e008b; + public static int common_result_type_no_update_file = 0x7f0e008c; + public static int common_result_type_performing_startup_operations = 0x7f0e008d; + public static int configDirtyLabel = 0x7f0e008e; + public static int configFailedToOpenDeviceManager = 0x7f0e008f; + public static int configFromTemplateInfoMessage = 0x7f0e0090; + public static int configFromTemplateInfoTitle = 0x7f0e0091; + public static int configGivingUpOnCommand = 0x7f0e0092; + public static int configNameEmpty = 0x7f0e0093; + public static int configNameExists = 0x7f0e0094; + public static int configNameIllegalCharacters = 0x7f0e0095; + public static int configNamePromptBanter = 0x7f0e0096; + public static int configNamePromptTitle = 0x7f0e0097; + public static int configNameReadOnly = 0x7f0e0098; + public static int configNameReserved = 0x7f0e0099; + public static int configNameWhitespace = 0x7f0e009a; + public static int configTemplateInstructions = 0x7f0e009b; + public static int configToDeleteDoesNotExist = 0x7f0e009c; + public static int configTypeAdafruitColorSensor = 0x7f0e009d; + public static int configTypeAnalogInput = 0x7f0e009e; + public static int configTypeColorSensor = 0x7f0e009f; + public static int configTypeContinuousRotationServo = 0x7f0e00a0; + public static int configTypeDigitalDevice = 0x7f0e00a1; + public static int configTypeGyro = 0x7f0e00a2; + public static int configTypeHTGyro = 0x7f0e00a3; + public static int configTypeIrSeekerV3 = 0x7f0e00a4; + public static int configTypeLED = 0x7f0e00a5; + public static int configTypeLynxColorSensor = 0x7f0e00a6; + public static int configTypeLynxModule = 0x7f0e00a7; + public static int configTypeLynxUSBDevice = 0x7f0e00a8; + public static int configTypeMRColorSensor = 0x7f0e00a9; + public static int configTypeMRGyro = 0x7f0e00aa; + public static int configTypeMRTouchSensor = 0x7f0e00ab; + public static int configTypeMotor = 0x7f0e00ac; + public static int configTypeMotors = 0x7f0e00ad; + public static int configTypeNothing = 0x7f0e00ae; + public static int configTypeOpticalDistanceSensor = 0x7f0e00af; + public static int configTypePulseWidthDevice = 0x7f0e00b0; + public static int configTypeRevTouchSensor = 0x7f0e00b1; + public static int configTypeServo = 0x7f0e00b2; + public static int configTypeServoFullRange = 0x7f0e00b3; + public static int configTypeServos = 0x7f0e00b4; + public static int configTypeUnknown = 0x7f0e00b5; + public static int configTypeWebcam = 0x7f0e00b6; + public static int configurationNotSaved = 0x7f0e00b7; + public static int configureFromTemplate = 0x7f0e00b8; + public static int configure_activity = 0x7f0e00b9; + public static int configure_menu_item = 0x7f0e00ba; + public static int configure_settings = 0x7f0e00bc; + public static int confirmConfigDeleteMessage = 0x7f0e00bd; + public static int confirmConfigDeleteTitle = 0x7f0e00be; + public static int connectedToContext = 0x7f0e00bf; + public static int connection_owner_default = 0x7f0e00c0; + public static int connection_owner_password_default = 0x7f0e00c1; + public static int continuous_servo_description = 0x7f0e00c2; + public static int controlHubDisplayName = 0x7f0e00c3; + public static int controlHubFirmwareUpdateMessage = 0x7f0e00c4; + public static int controlHubImuFwFlashFailed = 0x7f0e00c5; + public static int controlHubNotAbleToCommunicateWithInternalHub = 0x7f0e00c6; + public static int controlHubOsContext = 0x7f0e00c7; + public static int controlHubOsVersionLabel = 0x7f0e00c8; + public static int control_hub_module_name = 0x7f0e00c9; + public static int control_hub_usb_device_name = 0x7f0e00ca; + public static int controllerPortConnectionInfoFormat = 0x7f0e00cb; + public static int counted_camera_name = 0x7f0e00cc; + public static int counted_imu_name = 0x7f0e00cd; + public static int counted_lynx_module_name = 0x7f0e00ce; + public static int counted_lynx_usb_device_name = 0x7f0e00cf; + public static int counted_servo_hub_name = 0x7f0e00d0; + public static int currentApLabel = 0x7f0e00d1; + public static int defaultOpModeName = 0x7f0e00d2; + public static int defaultPasswordContext = 0x7f0e00d3; + public static int default_port = 0x7f0e00d4; + public static int define_zxingandroidembedded = 0x7f0e00d5; + public static int descriptionLynxEmbeddedModule = 0x7f0e00d6; + public static int deviceDisplayNameUnknownUSBDevice = 0x7f0e00d7; + public static int deviceInterfaceModuleName = 0x7f0e00d8; + public static int deviceNameContext = 0x7f0e00d9; + public static int device_info = 0x7f0e00da; + public static int device_name_format_ds = 0x7f0e00db; + public static int device_name_format_rc = 0x7f0e00dc; + public static int device_type = 0x7f0e00dd; + public static int dfrobot_huskylens_description = 0x7f0e00de; + public static int dfrobot_huskylens_name = 0x7f0e00df; + public static int dialogEnableModifyingSettingsMessage = 0x7f0e00e0; + public static int dialogEnableModifyingSettingsTitle = 0x7f0e00e1; + public static int dialogMessagePleaseWait = 0x7f0e00e2; + public static int display_server_log_button = 0x7f0e00e3; + public static int driverHubOsContext = 0x7f0e00e4; + public static int driverHubOsVersionLabel = 0x7f0e00e5; + public static int driverStationInstalledOnRobotControllerContext = 0x7f0e00e6; + public static int driverStationIsObsoleteContext = 0x7f0e00e7; + public static int driverStationLabel = 0x7f0e00e8; + public static int driverStationNameLabel = 0x7f0e00e9; + public static int dsVersionMismatch = 0x7f0e00ea; + public static int duplicateWebcam = 0x7f0e00eb; + public static int duplicateWebcamWithName = 0x7f0e00ec; + public static int edit_analog_input_devices_activity = 0x7f0e00ed; + public static int edit_analog_input_devices_activity_lynx = 0x7f0e00ee; + public static int edit_controller = 0x7f0e00ef; + public static int edit_digital_devices_activity = 0x7f0e00f0; + public static int edit_digital_devices_activity_lynx = 0x7f0e00f1; + public static int edit_ethernet_devices_activity = 0x7f0e00f2; + public static int edit_i2c_devices_activity = 0x7f0e00f3; + public static int edit_lynx_module_controller_activity = 0x7f0e00f4; + public static int edit_lynx_usb_device_activity = 0x7f0e00f5; + public static int edit_motor_controller_activity = 0x7f0e00f6; + public static int edit_pwm_devices_activity = 0x7f0e00f7; + public static int edit_servo_controller_activity = 0x7f0e00f8; + public static int edit_swap_devices_activity = 0x7f0e00f9; + public static int edit_webcam_activity = 0x7f0e00fa; + public static int errorConfigurationNotFound = 0x7f0e00fb; + public static int errorExpansionHubIsMissing = 0x7f0e00fc; + public static int errorFailedToOpenDeviceManager = 0x7f0e00fd; + public static int errorOpModeStuck = 0x7f0e00fe; + public static int errorParsingConfiguration = 0x7f0e00ff; + public static int errorScanningDevicesTitle = 0x7f0e0100; + public static int error_text_error = 0x7f0e0101; + public static int expansionHubDisplayName = 0x7f0e0103; + public static int expansionHubFirmwareUpdateMessage = 0x7f0e0104; + public static int file_activate_button = 0x7f0e0105; + public static int file_delete_button = 0x7f0e0106; + public static int file_edit_button = 0x7f0e0107; + public static int file_prompt = 0x7f0e0108; + public static int filename_editText = 0x7f0e0109; + public static int filler_text = 0x7f0e010a; + public static int firmwareContext = 0x7f0e010b; + public static int fixFailDuplicate = 0x7f0e010c; + public static int fixFailNoneAvailable = 0x7f0e010d; + public static int flashingControlHubImu = 0x7f0e010e; + public static int ftcConfigScanning = 0x7f0e010f; + public static int ftcConfigScanningFailed = 0x7f0e0110; + public static int ftc_about_activity = 0x7f0e0111; + public static int globalErrorFailedToCreateRobot = 0x7f0e0112; + public static int globalErrorFailedToStartRobot = 0x7f0e0113; + public static int help_content = 0x7f0e0114; + public static int help_menu_item = 0x7f0e0115; + public static int hide_server_log_button = 0x7f0e0116; + public static int hubFirmwareLabel = 0x7f0e0117; + public static int hwDeviceDescriptionAndConnection = 0x7f0e0118; + public static int hwPoorlyNamedDevice = 0x7f0e0119; + public static int incompatibleAppsError = 0x7f0e011a; + public static int input_name_hint = 0x7f0e011b; + public static int input_name_label = 0x7f0e011c; + public static int inspection_activity = 0x7f0e011d; + public static int ip_address_prompt_text = 0x7f0e011f; + public static int launch_wifi_settings = 0x7f0e0120; + public static int led_description = 0x7f0e0121; + public static int library_zxingandroidembedded_author = 0x7f0e0122; + public static int library_zxingandroidembedded_authorWebsite = 0x7f0e0123; + public static int library_zxingandroidembedded_isOpenSource = 0x7f0e0124; + public static int library_zxingandroidembedded_libraryDescription = 0x7f0e0125; + public static int library_zxingandroidembedded_libraryName = 0x7f0e0126; + public static int library_zxingandroidembedded_libraryVersion = 0x7f0e0127; + public static int library_zxingandroidembedded_libraryWebsite = 0x7f0e0128; + public static int library_zxingandroidembedded_licenseId = 0x7f0e0129; + public static int library_zxingandroidembedded_repositoryLink = 0x7f0e012a; + public static int load_menu_item = 0x7f0e012b; + public static int locationEnabledContext = 0x7f0e012c; + public static int locationLabel = 0x7f0e012d; + public static int locationServices = 0x7f0e012e; + public static int log_label = 0x7f0e012f; + public static int lynxAnalogInputControllerDisplayName = 0x7f0e0130; + public static int lynxDcMotorControllerDisplayName = 0x7f0e0131; + public static int lynxDigitalChannelControllerDisplayName = 0x7f0e0132; + public static int lynxFirmwareFileEmpty = 0x7f0e0133; + public static int lynxFirmwareUpdateAlreadyInProgress = 0x7f0e0134; + public static int lynxFirmwareUpdateReadme = 0x7f0e0135; + public static int lynxI2cDeviceSynchDisplayName = 0x7f0e0136; + public static int lynxModuleBatteryIsCurrentlyLow = 0x7f0e0137; + public static int lynxModuleBatteryWasLow = 0x7f0e0138; + public static int lynxModuleCurrentlyNotResponding = 0x7f0e0139; + public static int lynxModuleFirmwareOutdated = 0x7f0e013a; + public static int lynxModulePowerLost = 0x7f0e013b; + public static int lynxModulePreviouslyNotResponding = 0x7f0e013c; + public static int lynxPwmOutputControllerDisplayName = 0x7f0e013d; + public static int lynxServoControllerDisplayName = 0x7f0e013e; + public static int lynxUnavailableFWVersionString = 0x7f0e013f; + public static int lynxVoltageSensorDisplayName = 0x7f0e0140; + public static int lynx_address_control_hub_portal = 0x7f0e0141; + public static int lynx_address_format_expansion_hub_portal_serial = 0x7f0e0142; + public static int lynx_address_format_module_address = 0x7f0e0143; + public static int lynx_address_format_new_module_address = 0x7f0e0144; + public static int lynx_address_format_no_change = 0x7f0e0145; + public static int lynx_address_instructions_static = 0x7f0e0146; + public static int lynx_address_no_devices = 0x7f0e0147; + public static int lynx_embedded_bhi260ap_imu_name = 0x7f0e0148; + public static int lynx_embedded_bno055_imu_name = 0x7f0e0149; + public static int lynx_embedded_imu_description = 0x7f0e014a; + public static int lynx_fw_available_files = 0x7f0e014b; + public static int lynx_fw_instructions_controlhub_item_title = 0x7f0e014c; + public static int lynx_fw_instructions_exhub_item_title = 0x7f0e014d; + public static int lynx_fw_instructions_firmware_version = 0x7f0e014e; + public static int lynx_fw_instructions_module_address = 0x7f0e014f; + public static int lynx_fw_instructions_module_address_unavailable = 0x7f0e0150; + public static int lynx_fw_instructions_no_binary = 0x7f0e0151; + public static int lynx_fw_instructions_no_devices = 0x7f0e0152; + public static int lynx_fw_instructions_serial = 0x7f0e0153; + public static int lynx_fw_instructions_update = 0x7f0e0154; + public static int lynx_fw_instructions_update_post = 0x7f0e0155; + public static int manage_page_no_network = 0x7f0e0156; + public static int manual_control_op_mode_display_name = 0x7f0e0157; + public static int matchesDSVersionLabel = 0x7f0e0158; + public static int menuButtonContentDescription = 0x7f0e0159; + public static int moduleDisplayNameLynxUsbDevice = 0x7f0e015a; + public static int moduleDisplayNameWebcam = 0x7f0e015b; + public static int motor = 0x7f0e015c; + public static int motor_controller_name_prompt = 0x7f0e015d; + public static int motor_name = 0x7f0e015e; + public static int motor_name_prompt = 0x7f0e015f; + public static int motor_port = 0x7f0e0160; + public static int motor_port1 = 0x7f0e0161; + public static int motor_port2 = 0x7f0e0162; + public static int mr_compass_description = 0x7f0e0163; + public static int mr_compass_name = 0x7f0e0164; + public static int mr_range_description = 0x7f0e0165; + public static int mr_range_name = 0x7f0e0166; + public static int mr_touch_sensor_description = 0x7f0e0167; + public static int msgAlertBeforeScan = 0x7f0e0168; + public static int msgInfoHowToUse = 0x7f0e0169; + public static int msgInfoSave = 0x7f0e016a; + public static int msg_ds_p2p_connected_wrong_device = 0x7f0e016b; + public static int msg_ds_p2p_misconfigured = 0x7f0e016c; + public static int msg_p2p_unprintable_chars = 0x7f0e016d; + public static int msg_rc_p2p_misconfigured = 0x7f0e016e; + public static int name_prompt_text = 0x7f0e016f; + public static int name_prompt_undertext = 0x7f0e0170; + public static int navx_micro_description = 0x7f0e0171; + public static int navx_micro_name = 0x7f0e0172; + public static int networkStatusActive = 0x7f0e0173; + public static int networkStatusCreatedAPConnection = 0x7f0e0174; + public static int networkStatusEnabled = 0x7f0e0175; + public static int networkStatusError = 0x7f0e0176; + public static int networkStatusFormat = 0x7f0e0177; + public static int networkStatusInactive = 0x7f0e0178; + public static int networkStatusInternalError = 0x7f0e0179; + public static int networkStatusUnknown = 0x7f0e017a; + public static int network_name_label = 0x7f0e017b; + public static int network_not_ok = 0x7f0e017c; + public static int network_type_wifi_direct = 0x7f0e017d; + public static int network_type_wireless_ap = 0x7f0e017e; + public static int noContext = 0x7f0e017f; + public static int noCurrentConfigFile = 0x7f0e0180; + public static int noDeviceAttached = 0x7f0e0181; + public static int noDevicesFoundMessage = 0x7f0e0182; + public static int noDevicesFoundTitle = 0x7f0e0183; + public static int noFilesFoundMessage = 0x7f0e0184; + public static int noFilesFoundTitle = 0x7f0e0185; + public static int noRememberedGroupsFound = 0x7f0e0186; + public static int noSerialNumber = 0x7f0e0187; + public static int noTemplatesFoundMessage = 0x7f0e0188; + public static int noTemplatesFoundTitle = 0x7f0e0189; + public static int noVoltageSensor = 0x7f0e018a; + public static int notAllDevicesFoundMessage = 0x7f0e018b; + public static int notAllDevicesFoundTitle = 0x7f0e018c; + public static int not_available = 0x7f0e018d; + public static int optical_distance_sensor_description = 0x7f0e018e; + public static int osContext = 0x7f0e018f; + public static int ota_result_type_device_not_supported = 0x7f0e0190; + public static int ota_result_type_downgrade_not_authorized = 0x7f0e0191; + public static int ota_result_type_error_reading_file = 0x7f0e0192; + public static int ota_result_type_failed_to_install = 0x7f0e0193; + public static int ota_result_type_invalid_file_location = 0x7f0e0194; + public static int ota_result_type_invalid_update_file = 0x7f0e0195; + public static int ota_result_type_ota_update_finished = 0x7f0e0196; + public static int ota_result_type_verification_succeeded = 0x7f0e0197; + public static int ota_result_type_verification_succeeded_localhost = 0x7f0e0198; + public static int packageName = 0x7f0e0199; + public static int packageNameDriverStation = 0x7f0e019a; + public static int packageNameRobotController = 0x7f0e019b; + public static int pairing_kind_title = 0x7f0e019c; + public static int parametersForOtherDeviceUsed = 0x7f0e019d; + public static int passphrase_label = 0x7f0e019e; + public static int passwordLabel = 0x7f0e019f; + public static int peerStatusConnected = 0x7f0e01a0; + public static int peerStatusDisconnected = 0x7f0e01a1; + public static int permAccessLocationExplain = 0x7f0e01a2; + public static int permDsReadExternalStorageExplain = 0x7f0e01a3; + public static int permDsWriteExternalStorageExplain = 0x7f0e01a4; + public static int permGenericExplain = 0x7f0e01a5; + public static int permPermanentlyDenied = 0x7f0e01a6; + public static int permPermanentlyDeniedRecovery = 0x7f0e01a7; + public static int permRcCameraExplain = 0x7f0e01a8; + public static int permRcReadExternalStorageExplain = 0x7f0e01a9; + public static int permRcWriteExternalStorageExplain = 0x7f0e01aa; + public static int permReadPhoneState = 0x7f0e01ab; + public static int port = 0x7f0e01ac; + public static int powerIssueTip = 0x7f0e01ad; + public static int pref_app_category = 0x7f0e01ae; + public static int pref_app_category_rc = 0x7f0e01af; + public static int pref_app_theme = 0x7f0e01b0; + public static int pref_app_theme_rc = 0x7f0e01b1; + public static int pref_app_version = 0x7f0e01b2; + public static int pref_app_version_rc = 0x7f0e01b3; + public static int pref_autostarted_robot_controller = 0x7f0e01b4; + public static int pref_build_time = 0x7f0e01b5; + public static int pref_build_time_rc = 0x7f0e01b6; + public static int pref_connection_owner_identity = 0x7f0e01b7; + public static int pref_connection_owner_password = 0x7f0e01b8; + public static int pref_debug_driver_station_logs = 0x7f0e01b9; + public static int pref_device_name = 0x7f0e01ba; + public static int pref_device_name_internal = 0x7f0e01bb; + public static int pref_device_name_old = 0x7f0e01bc; + public static int pref_device_name_rc = 0x7f0e01bd; + public static int pref_device_name_rc_display = 0x7f0e01be; + public static int pref_device_name_tracking = 0x7f0e01bf; + public static int pref_dh_os_version_code = 0x7f0e01c0; + public static int pref_ds_supports_5_ghz = 0x7f0e01c1; + public static int pref_gamepad_user1_type_key = 0x7f0e01c3; + public static int pref_gamepad_user2_type_key = 0x7f0e01c4; + public static int pref_hardware_config_filename = 0x7f0e01c5; + public static int pref_has_independent_phone_battery = 0x7f0e01c6; + public static int pref_has_independent_phone_battery_rc = 0x7f0e01c7; + public static int pref_has_speaker = 0x7f0e01c8; + public static int pref_has_speaker_rc = 0x7f0e01c9; + public static int pref_last_known_macaddr = 0x7f0e01ca; + public static int pref_last_known_ssid = 0x7f0e01cb; + public static int pref_launch_advanced_rc_settings = 0x7f0e01cc; + public static int pref_launch_inspect_ds = 0x7f0e01cd; + public static int pref_launch_inspect_rc = 0x7f0e01ce; + public static int pref_launch_lynx_address_update = 0x7f0e01cf; + public static int pref_launch_lynx_firmware_update = 0x7f0e01d0; + public static int pref_launch_viewlogs = 0x7f0e01d1; + public static int pref_launch_wifi_channel_edit = 0x7f0e01d2; + public static int pref_launch_wifi_remembered_groups_edit = 0x7f0e01d3; + public static int pref_lib_version = 0x7f0e01d4; + public static int pref_lib_version_rc = 0x7f0e01d5; + public static int pref_match_logging_on_off = 0x7f0e01d6; + public static int pref_match_logging_on_off_summary = 0x7f0e01d7; + public static int pref_match_logging_on_off_title = 0x7f0e01d8; + public static int pref_network_connection_info = 0x7f0e01d9; + public static int pref_network_connection_info_rc = 0x7f0e01da; + public static int pref_network_connection_type = 0x7f0e01db; + public static int pref_network_protocol_version = 0x7f0e01dc; + public static int pref_network_protocol_version_rc = 0x7f0e01dd; + public static int pref_os_version = 0x7f0e01de; + public static int pref_os_version_rc = 0x7f0e01df; + public static int pref_pair_rc = 0x7f0e01e0; + public static int pref_pairing_kind = 0x7f0e01e1; + public static int pref_pairing_kind_default = 0x7f0e01e2; + public static int pref_pairing_kind_title = 0x7f0e01e3; + public static int pref_rc_connected = 0x7f0e01e4; + public static int pref_sound_on_off = 0x7f0e01e5; + public static int pref_sound_on_off_rc = 0x7f0e01e6; + public static int pref_warn_about_2_4_ghz_band = 0x7f0e01e7; + public static int pref_warn_about_incorrect_clocks = 0x7f0e01e8; + public static int pref_warn_about_mismatched_app_versions = 0x7f0e01e9; + public static int pref_warn_about_obsolete_software = 0x7f0e01ea; + public static int pref_wifi_automute = 0x7f0e01eb; + public static int pref_wifip2p_channel = 0x7f0e01ec; + public static int pref_wifip2p_groupowner_connectedto = 0x7f0e01ed; + public static int pref_wifip2p_groupowner_lastconnectedto = 0x7f0e01ee; + public static int pref_wifip2p_groupowner_map = 0x7f0e01ef; + public static int pref_wifip2p_groupowner_map_timestamp = 0x7f0e01f0; + public static int pref_wifip2p_remote_channel_change_works = 0x7f0e01f1; + public static int prefcat_about_ds = 0x7f0e01f2; + public static int prefcat_about_rc = 0x7f0e01f3; + public static int prefcat_configure_ds = 0x7f0e01f4; + public static int prefcat_configure_robot = 0x7f0e01f5; + public static int prefcat_gamepad = 0x7f0e01f6; + public static int prefcat_logging = 0x7f0e01f7; + public static int prefcat_wifi_config = 0x7f0e01f8; + public static int prefcat_wifi_settings = 0x7f0e01f9; + public static int prefedit_app_theme_ds = 0x7f0e01fa; + public static int prefedit_app_theme_rc = 0x7f0e01fb; + public static int prefedit_app_theme_summary_ds = 0x7f0e01fc; + public static int prefedit_app_theme_summary_rc = 0x7f0e01fd; + public static int prefedit_change_wifi_channel = 0x7f0e01fe; + public static int prefedit_clear_remembered_groups_summary = 0x7f0e01ff; + public static int prefedit_debug_driver_station_logs = 0x7f0e0200; + public static int prefedit_debug_driver_station_logs_summary = 0x7f0e0201; + public static int prefedit_device_name = 0x7f0e0202; + public static int prefedit_device_name_ds = 0x7f0e0203; + public static int prefedit_device_name_invalid_text = 0x7f0e0204; + public static int prefedit_device_name_invalid_title = 0x7f0e0205; + public static int prefedit_device_name_rc = 0x7f0e0206; + public static int prefedit_device_name_summary = 0x7f0e0207; + public static int prefedit_device_name_summary_ds = 0x7f0e0208; + public static int prefedit_device_name_summary_rc = 0x7f0e0209; + public static int prefedit_edit_wifi_channel_summary = 0x7f0e020a; + public static int prefedit_gamepad_user1_type = 0x7f0e020b; + public static int prefedit_gamepad_user2_type = 0x7f0e020c; + public static int prefedit_launch_inspect_ds = 0x7f0e020d; + public static int prefedit_launch_inspect_ds_summary = 0x7f0e020e; + public static int prefedit_launch_inspect_rc = 0x7f0e020f; + public static int prefedit_launch_inspect_rc_summary = 0x7f0e0210; + public static int prefedit_pair_rc = 0x7f0e0211; + public static int prefedit_pair_rc_summary = 0x7f0e0212; + public static int prefedit_remembered_groups = 0x7f0e0213; + public static int prefedit_sound_on_off = 0x7f0e0214; + public static int prefedit_sound_on_off_summary = 0x7f0e0215; + public static int prefedit_sound_on_off_summary_ds = 0x7f0e0216; + public static int prefedit_sound_on_off_summary_rc = 0x7f0e0217; + public static int prefedit_view_logs = 0x7f0e0218; + public static int prefedit_view_logs_summary = 0x7f0e0219; + public static int prefedit_wifi_automute = 0x7f0e021a; + public static int prefedit_wifi_automute_summary = 0x7f0e021b; + public static int preferred_imu_name = 0x7f0e021c; + public static int program_and_manage_activity = 0x7f0e021d; + public static int progressPleaseWait = 0x7f0e021f; + public static int progressUpdatingDeviceFirmware = 0x7f0e0220; + public static int qrInvalid = 0x7f0e0221; + public static int qrNoGamepad = 0x7f0e0222; + public static int quotes = 0x7f0e0223; + public static int readOnlyConfigFeedback = 0x7f0e0224; + public static int readOnlyExplanation = 0x7f0e0225; + public static int readXML_text = 0x7f0e0226; + public static int rescanButton_text = 0x7f0e0227; + public static int restore_settings = 0x7f0e0229; + public static int rev_20_hd_hex_name = 0x7f0e022a; + public static int rev_40_hd_hex_name = 0x7f0e022b; + public static int rev_9_axis_imu_description = 0x7f0e022c; + public static int rev_9_axis_imu_name = 0x7f0e022d; + public static int rev_blinkin_description = 0x7f0e022e; + public static int rev_blinkin_name = 0x7f0e022f; + public static int rev_color_sensor_v3_description = 0x7f0e0230; + public static int rev_color_sensor_v3_name = 0x7f0e0231; + public static int rev_core_hex_name = 0x7f0e0232; + public static int rev_distributor = 0x7f0e0233; + public static int rev_laser_sensor_description = 0x7f0e0234; + public static int rev_laser_sensor_name = 0x7f0e0235; + public static int rev_spark_mini_description = 0x7f0e0236; + public static int rev_spark_mini_name = 0x7f0e0237; + public static int rev_touch_sensor_description = 0x7f0e0238; + public static int rev_ultraplanetary_hd_hex_name = 0x7f0e0239; + public static int robotControllerAppUpdateReadme = 0x7f0e023a; + public static int robotControllerInstalledOnDriverStationContext = 0x7f0e023b; + public static int robotControllerIsNotInstalledContext = 0x7f0e023c; + public static int robotControllerIsObsoleteContext = 0x7f0e023d; + public static int robotControllerLabel = 0x7f0e023e; + public static int robotControllerNameLabel = 0x7f0e023f; + public static int robotOffTip = 0x7f0e0240; + public static int robotStateEmergencyStop = 0x7f0e0241; + public static int robotStateInit = 0x7f0e0242; + public static int robotStateInternalError = 0x7f0e0243; + public static int robotStateNotStarted = 0x7f0e0244; + public static int robotStateRunning = 0x7f0e0245; + public static int robotStateStopped = 0x7f0e0246; + public static int robotStateUnknown = 0x7f0e0247; + public static int robotStatusFormat = 0x7f0e0248; + public static int robotStatusInternalError = 0x7f0e0249; + public static int robotStatusNetworkTimedOut = 0x7f0e024a; + public static int robotStatusScanningUSB = 0x7f0e024b; + public static int robotStatusStartingRobot = 0x7f0e024c; + public static int robotStatusUnableToStartRobot = 0x7f0e024d; + public static int robotStatusUnknown = 0x7f0e024e; + public static int robotStatusWaitingOnNetworkConnection = 0x7f0e024f; + public static int robotStatusWaitingOnWifi = 0x7f0e0250; + public static int robotStatusWaitingOnWifiDirect = 0x7f0e0251; + public static int row_port0 = 0x7f0e0252; + public static int row_port1 = 0x7f0e0253; + public static int row_port2 = 0x7f0e0254; + public static int row_port3 = 0x7f0e0255; + public static int row_port4 = 0x7f0e0256; + public static int row_port5 = 0x7f0e0257; + public static int row_port6 = 0x7f0e0258; + public static int saveButton_text = 0x7f0e0259; + public static int saveChangesMessage = 0x7f0e025a; + public static int saveChangesMessageScreen = 0x7f0e025b; + public static int saveChangesTitle = 0x7f0e025c; + public static int save_configuration = 0x7f0e025d; + public static int sdkVersionMismatchContext = 0x7f0e025e; + public static int search_menu_title = 0x7f0e025f; + public static int serialNumberNotAttached = 0x7f0e0260; + public static int server_not_ok = 0x7f0e0261; + public static int server_ok = 0x7f0e0262; + public static int server_status_label = 0x7f0e0263; + public static int server_url_label = 0x7f0e0264; + public static int servo_name = 0x7f0e0265; + public static int servo_name_prompt = 0x7f0e0266; + public static int servo_port = 0x7f0e0267; + public static int setWifiChannelFailure = 0x7f0e0268; + public static int setWifiChannelSuccess = 0x7f0e0269; + public static int settings_activity = 0x7f0e026a; + public static int sparkfun_led_stick_description = 0x7f0e026c; + public static int sparkfun_led_stick_name = 0x7f0e026d; + public static int sparkfun_optical_odometry_description = 0x7f0e026e; + public static int sparkfun_optical_odometry_name = 0x7f0e026f; + public static int standardWifiConnected = 0x7f0e0270; + public static int standard_servo_description = 0x7f0e0271; + public static int status_bar_notification_info_overflow = 0x7f0e0272; + public static int stringManufacturer = 0x7f0e0273; + public static int stringModel = 0x7f0e0274; + public static int string_WifiChannelHeading = 0x7f0e0275; + public static int string_WifiChannelInstructions = 0x7f0e0276; + public static int string_WifiRememberedGroupsInstructions = 0x7f0e0277; + public static int summaryAdvancedRCSettings = 0x7f0e0278; + public static int summaryLynxAddressUpdate = 0x7f0e0279; + public static int summaryLynxFirmwareUpdate = 0x7f0e027a; + public static int summaryLynxFirmwareUpdateCH = 0x7f0e027b; + public static int summaryWarnAbout2_4GhzBand = 0x7f0e027c; + public static int summaryWarnAboutIncorrectClocks = 0x7f0e027d; + public static int summaryWarnAboutMismatchedAppVersions = 0x7f0e027e; + public static int summaryWarnAboutObsoleteSoftware = 0x7f0e027f; + public static int swapPrompt = 0x7f0e0280; + public static int system_op_mode_display_name = 0x7f0e0281; + public static int templateConfigurationInstructions = 0x7f0e0282; + public static int templateConfigureConfigurationInstructionsTitle = 0x7f0e0283; + public static int templateConfigureDuplicateNameExceptionMessage = 0x7f0e0284; + public static int templateConfigureFailedToOpenUSBScanManager = 0x7f0e0285; + public static int templateConfigureNoDescriptionAvailable = 0x7f0e0286; + public static int templateConfigureNoDevicesFoundMessage = 0x7f0e0287; + public static int templateConfigureNoDevicesFoundTitle = 0x7f0e0288; + public static int templateConfigureNothing = 0x7f0e0289; + public static int templateConfigureWrongDevicesFoundMessage = 0x7f0e028a; + public static int templateConfigureWrongDevicesFoundTitle = 0x7f0e028b; + public static int titleAdvancedRCSettings = 0x7f0e028c; + public static int titleAdvancedRCSettings2 = 0x7f0e028d; + public static int titleDevices = 0x7f0e028e; + public static int titleInspectionReportDS = 0x7f0e028f; + public static int titleInspectionReportRC = 0x7f0e0290; + public static int titleLynxFirmwareUpdate = 0x7f0e0291; + public static int titleLynxModuleAddressUpdate = 0x7f0e0292; + public static int titleSaveConfiguration = 0x7f0e0293; + public static int titleText_view = 0x7f0e0294; + public static int titleUnsavedChanges = 0x7f0e0295; + public static int titleWarnAbout2_4GhzBand = 0x7f0e0296; + public static int titleWarnAboutIncorrectClocks = 0x7f0e0297; + public static int titleWarnAboutMismatchedAppVersions = 0x7f0e0298; + public static int titleWarnAboutObsoleteSoftware = 0x7f0e0299; + public static int title_activity_configfromtemplate = 0x7f0e029a; + public static int title_activity_load = 0x7f0e029b; + public static int title_activity_wifi_channel_selector = 0x7f0e029c; + public static int title_activity_wifi_remembered_groups_editor = 0x7f0e029d; + public static int title_p2p_connected_wrong_device = 0x7f0e029e; + public static int title_p2p_misconfigured = 0x7f0e029f; + public static int title_p2p_unprintable_chars = 0x7f0e02a0; + public static int toastCantCreateRobotConfigFilesDir = 0x7f0e02a1; + public static int toastDisableWifi = 0x7f0e02a2; + public static int toastDisableWifiWarn = 0x7f0e02a3; + public static int toastDisconnectedFromWifiDirect = 0x7f0e02a4; + public static int toastDuplicateName = 0x7f0e02a5; + public static int toastEnableWifi = 0x7f0e02a6; + public static int toastErrorDisconnectingFromWifiDirect = 0x7f0e02a7; + public static int toastLynxAddressChangeComplete = 0x7f0e02a8; + public static int toastLynxAddressChangeFailed = 0x7f0e02a9; + public static int toastLynxAddressChangeNothingToDo = 0x7f0e02aa; + public static int toastLynxFirmwareUpdateSuccessful = 0x7f0e02ab; + public static int toastOpModeStuck = 0x7f0e02ac; + public static int toastRebootRC = 0x7f0e02ad; + public static int toastRestartRobotComplete = 0x7f0e02ae; + public static int toastRestartingRobot = 0x7f0e02af; + public static int toastRobotSetupComplete = 0x7f0e02b0; + public static int toastSaved = 0x7f0e02b1; + public static int toastWebViewDownloadFile = 0x7f0e02b2; + public static int toastWebViewDownloadsComplete = 0x7f0e02b3; + public static int toastWifiP2pChannelChangeRequestedDS = 0x7f0e02b5; + public static int toastWifiP2pRememberedGroupsCleared = 0x7f0e02b6; + public static int tokenThemeBlue = 0x7f0e02b8; + public static int tokenThemeGreen = 0x7f0e02b9; + public static int tokenThemeOrange = 0x7f0e02ba; + public static int tokenThemePurple = 0x7f0e02bb; + public static int tokenThemeRed = 0x7f0e02bc; + public static int tokenThemeTeal = 0x7f0e02bd; + public static int trafficCountLabel = 0x7f0e02be; + public static int unavailable = 0x7f0e02bf; + public static int unhealthyDevice = 0x7f0e02c0; + public static int unknown_control_hub_error = 0x7f0e02c1; + public static int unknown_wifi_direct_channel = 0x7f0e02c2; + public static int update_lynx_firmware = 0x7f0e02c3; + public static int usb_pid_name_logitech_c310 = 0x7f0e02c4; + public static int usb_pid_name_logitech_c920 = 0x7f0e02c5; + public static int usb_vid_name_dell = 0x7f0e02c6; + public static int usb_vid_name_ftdi = 0x7f0e02c7; + public static int usb_vid_name_generic = 0x7f0e02c8; + public static int usb_vid_name_google = 0x7f0e02c9; + public static int usb_vid_name_logitech = 0x7f0e02ca; + public static int usb_vid_name_microsoft = 0x7f0e02cb; + public static int usb_vid_name_qualcomm = 0x7f0e02cc; + public static int userSensorTypeBusDefault = 0x7f0e02cd; + public static int view_logs_activity = 0x7f0e02ce; + public static int warning2_4GhzUnnecessaryUsage = 0x7f0e02cf; + public static int warning2_4GhzUnnecessaryUsageWiFiDirectAuto = 0x7f0e02d0; + public static int warningAttemptedToUseBhi260OnOldOS = 0x7f0e02d1; + public static int warningBothAppsObsolete = 0x7f0e02d2; + public static int warningBothClocksBehind = 0x7f0e02d3; + public static int warningChOsObsolete = 0x7f0e02d4; + public static int warningClocksDiffer = 0x7f0e02d5; + public static int warningDhOsObsolete = 0x7f0e02d6; + public static int warningDsAppObsolete = 0x7f0e02d7; + public static int warningDsClockBehind = 0x7f0e02d8; + public static int warningDuplicateOpMode = 0x7f0e02d9; + public static int warningI2cCommError = 0x7f0e02da; + public static int warningMismatchedAppVersions = 0x7f0e02db; + public static int warningProblemCommunicatingWithUSBDevice = 0x7f0e02dc; + public static int warningRcAppObsolete = 0x7f0e02dd; + public static int warningRcClockBehind = 0x7f0e02de; + public static int warningRetrievedMultipleDeviceInstances = 0x7f0e02df; + public static int warningTtsFailedToInitialize = 0x7f0e02e0; + public static int warningUSBDeviceDetached = 0x7f0e02e1; + public static int warningUnableToOpen = 0x7f0e02e2; + public static int webViewDownloadRequestDescription = 0x7f0e02e3; + public static int webcamNotFound = 0x7f0e02e4; + public static int webcamNotFoundWithName = 0x7f0e02e5; + public static int webcam_name_prompt = 0x7f0e02e6; + public static int wifiAccessPointLabel = 0x7f0e02e7; + public static int wifiApDescription = 0x7f0e02e8; + public static int wifiConnectedLabel = 0x7f0e02e9; + public static int wifiEnabledContext = 0x7f0e02ea; + public static int wifiEnabledLabel = 0x7f0e02eb; + public static int wifiNameLabel = 0x7f0e02ec; + public static int wirelessApStatusLabel = 0x7f0e02ed; + public static int writeXML_prompt = 0x7f0e02ee; + public static int writeXML_text = 0x7f0e02ef; + public static int zxing_app_name = 0x7f0e02f0; + public static int zxing_button_ok = 0x7f0e02f1; + public static int zxing_msg_camera_framework_bug = 0x7f0e02f2; + public static int zxing_msg_default_status = 0x7f0e02f3; + + private string() { + } + } + + public static final class style { + public static int AlertDialog_AppCompat = 0x7f0f0000; + public static int AlertDialog_AppCompat_Light = 0x7f0f0001; + public static int Animation_AppCompat_Dialog = 0x7f0f0002; + public static int Animation_AppCompat_DropDownUp = 0x7f0f0003; + public static int Animation_AppCompat_Tooltip = 0x7f0f0004; + public static int AppBaseTheme = 0x7f0f0005; + public static int AppTheme = 0x7f0f0006; + public static int AppTheme_Blue = 0x7f0f0007; + public static int AppTheme_Green = 0x7f0f0008; + public static int AppTheme_Orange = 0x7f0f0009; + public static int AppTheme_Purple = 0x7f0f000a; + public static int AppTheme_Red = 0x7f0f000b; + public static int AppTheme_Teal = 0x7f0f000c; + public static int Base_AlertDialog_AppCompat = 0x7f0f0013; + public static int Base_AlertDialog_AppCompat_Light = 0x7f0f0014; + public static int Base_Animation_AppCompat_Dialog = 0x7f0f0015; + public static int Base_Animation_AppCompat_DropDownUp = 0x7f0f0016; + public static int Base_Animation_AppCompat_Tooltip = 0x7f0f0017; + public static int Base_DialogWindowTitleBackground_AppCompat = 0x7f0f0019; + public static int Base_DialogWindowTitle_AppCompat = 0x7f0f0018; + public static int Base_TextAppearance_AppCompat = 0x7f0f001a; + public static int Base_TextAppearance_AppCompat_Body1 = 0x7f0f001b; + public static int Base_TextAppearance_AppCompat_Body2 = 0x7f0f001c; + public static int Base_TextAppearance_AppCompat_Button = 0x7f0f001d; + public static int Base_TextAppearance_AppCompat_Caption = 0x7f0f001e; + public static int Base_TextAppearance_AppCompat_Display1 = 0x7f0f001f; + public static int Base_TextAppearance_AppCompat_Display2 = 0x7f0f0020; + public static int Base_TextAppearance_AppCompat_Display3 = 0x7f0f0021; + public static int Base_TextAppearance_AppCompat_Display4 = 0x7f0f0022; + public static int Base_TextAppearance_AppCompat_Headline = 0x7f0f0023; + public static int Base_TextAppearance_AppCompat_Inverse = 0x7f0f0024; + public static int Base_TextAppearance_AppCompat_Large = 0x7f0f0025; + public static int Base_TextAppearance_AppCompat_Large_Inverse = 0x7f0f0026; + public static int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0f0027; + public static int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0f0028; + public static int Base_TextAppearance_AppCompat_Medium = 0x7f0f0029; + public static int Base_TextAppearance_AppCompat_Medium_Inverse = 0x7f0f002a; + public static int Base_TextAppearance_AppCompat_Menu = 0x7f0f002b; + public static int Base_TextAppearance_AppCompat_SearchResult = 0x7f0f002c; + public static int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0f002d; + public static int Base_TextAppearance_AppCompat_SearchResult_Title = 0x7f0f002e; + public static int Base_TextAppearance_AppCompat_Small = 0x7f0f002f; + public static int Base_TextAppearance_AppCompat_Small_Inverse = 0x7f0f0030; + public static int Base_TextAppearance_AppCompat_Subhead = 0x7f0f0031; + public static int Base_TextAppearance_AppCompat_Subhead_Inverse = 0x7f0f0032; + public static int Base_TextAppearance_AppCompat_Title = 0x7f0f0033; + public static int Base_TextAppearance_AppCompat_Title_Inverse = 0x7f0f0034; + public static int Base_TextAppearance_AppCompat_Tooltip = 0x7f0f0035; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0f0036; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0f0037; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0f0038; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0f0039; + public static int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0f003a; + public static int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0f003b; + public static int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0f003c; + public static int Base_TextAppearance_AppCompat_Widget_Button = 0x7f0f003d; + public static int Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 0x7f0f003e; + public static int Base_TextAppearance_AppCompat_Widget_Button_Colored = 0x7f0f003f; + public static int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f0f0040; + public static int Base_TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0f0041; + public static int Base_TextAppearance_AppCompat_Widget_PopupMenu_Header = 0x7f0f0042; + public static int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0f0043; + public static int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0f0044; + public static int Base_TextAppearance_AppCompat_Widget_Switch = 0x7f0f0045; + public static int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f0f0046; + public static int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0f0047; + public static int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f0f0048; + public static int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f0f0049; + public static int Base_ThemeOverlay_AppCompat = 0x7f0f0058; + public static int Base_ThemeOverlay_AppCompat_ActionBar = 0x7f0f0059; + public static int Base_ThemeOverlay_AppCompat_Dark = 0x7f0f005a; + public static int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f0f005b; + public static int Base_ThemeOverlay_AppCompat_Dialog = 0x7f0f005c; + public static int Base_ThemeOverlay_AppCompat_Dialog_Alert = 0x7f0f005d; + public static int Base_ThemeOverlay_AppCompat_Light = 0x7f0f005e; + public static int Base_Theme_AppCompat = 0x7f0f004a; + public static int Base_Theme_AppCompat_CompactMenu = 0x7f0f004b; + public static int Base_Theme_AppCompat_Dialog = 0x7f0f004c; + public static int Base_Theme_AppCompat_DialogWhenLarge = 0x7f0f0050; + public static int Base_Theme_AppCompat_Dialog_Alert = 0x7f0f004d; + public static int Base_Theme_AppCompat_Dialog_FixedSize = 0x7f0f004e; + public static int Base_Theme_AppCompat_Dialog_MinWidth = 0x7f0f004f; + public static int Base_Theme_AppCompat_Light = 0x7f0f0051; + public static int Base_Theme_AppCompat_Light_DarkActionBar = 0x7f0f0052; + public static int Base_Theme_AppCompat_Light_Dialog = 0x7f0f0053; + public static int Base_Theme_AppCompat_Light_DialogWhenLarge = 0x7f0f0057; + public static int Base_Theme_AppCompat_Light_Dialog_Alert = 0x7f0f0054; + public static int Base_Theme_AppCompat_Light_Dialog_FixedSize = 0x7f0f0055; + public static int Base_Theme_AppCompat_Light_Dialog_MinWidth = 0x7f0f0056; + public static int Base_V21_ThemeOverlay_AppCompat_Dialog = 0x7f0f0063; + public static int Base_V21_Theme_AppCompat = 0x7f0f005f; + public static int Base_V21_Theme_AppCompat_Dialog = 0x7f0f0060; + public static int Base_V21_Theme_AppCompat_Light = 0x7f0f0061; + public static int Base_V21_Theme_AppCompat_Light_Dialog = 0x7f0f0062; + public static int Base_V22_Theme_AppCompat = 0x7f0f0064; + public static int Base_V22_Theme_AppCompat_Light = 0x7f0f0065; + public static int Base_V23_Theme_AppCompat = 0x7f0f0066; + public static int Base_V23_Theme_AppCompat_Light = 0x7f0f0067; + public static int Base_V26_Theme_AppCompat = 0x7f0f0068; + public static int Base_V26_Theme_AppCompat_Light = 0x7f0f0069; + public static int Base_V26_Widget_AppCompat_Toolbar = 0x7f0f006a; + public static int Base_V28_Theme_AppCompat = 0x7f0f006b; + public static int Base_V28_Theme_AppCompat_Light = 0x7f0f006c; + public static int Base_V7_ThemeOverlay_AppCompat_Dialog = 0x7f0f0071; + public static int Base_V7_Theme_AppCompat = 0x7f0f006d; + public static int Base_V7_Theme_AppCompat_Dialog = 0x7f0f006e; + public static int Base_V7_Theme_AppCompat_Light = 0x7f0f006f; + public static int Base_V7_Theme_AppCompat_Light_Dialog = 0x7f0f0070; + public static int Base_V7_Widget_AppCompat_AutoCompleteTextView = 0x7f0f0072; + public static int Base_V7_Widget_AppCompat_EditText = 0x7f0f0073; + public static int Base_V7_Widget_AppCompat_Toolbar = 0x7f0f0074; + public static int Base_Widget_AppCompat_ActionBar = 0x7f0f0075; + public static int Base_Widget_AppCompat_ActionBar_Solid = 0x7f0f0076; + public static int Base_Widget_AppCompat_ActionBar_TabBar = 0x7f0f0077; + public static int Base_Widget_AppCompat_ActionBar_TabText = 0x7f0f0078; + public static int Base_Widget_AppCompat_ActionBar_TabView = 0x7f0f0079; + public static int Base_Widget_AppCompat_ActionButton = 0x7f0f007a; + public static int Base_Widget_AppCompat_ActionButton_CloseMode = 0x7f0f007b; + public static int Base_Widget_AppCompat_ActionButton_Overflow = 0x7f0f007c; + public static int Base_Widget_AppCompat_ActionMode = 0x7f0f007d; + public static int Base_Widget_AppCompat_ActivityChooserView = 0x7f0f007e; + public static int Base_Widget_AppCompat_AutoCompleteTextView = 0x7f0f007f; + public static int Base_Widget_AppCompat_Button = 0x7f0f0080; + public static int Base_Widget_AppCompat_ButtonBar = 0x7f0f0086; + public static int Base_Widget_AppCompat_ButtonBar_AlertDialog = 0x7f0f0087; + public static int Base_Widget_AppCompat_Button_Borderless = 0x7f0f0081; + public static int Base_Widget_AppCompat_Button_Borderless_Colored = 0x7f0f0082; + public static int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f0f0083; + public static int Base_Widget_AppCompat_Button_Colored = 0x7f0f0084; + public static int Base_Widget_AppCompat_Button_Small = 0x7f0f0085; + public static int Base_Widget_AppCompat_CompoundButton_CheckBox = 0x7f0f0088; + public static int Base_Widget_AppCompat_CompoundButton_RadioButton = 0x7f0f0089; + public static int Base_Widget_AppCompat_CompoundButton_Switch = 0x7f0f008a; + public static int Base_Widget_AppCompat_DrawerArrowToggle = 0x7f0f008b; + public static int Base_Widget_AppCompat_DrawerArrowToggle_Common = 0x7f0f008c; + public static int Base_Widget_AppCompat_DropDownItem_Spinner = 0x7f0f008d; + public static int Base_Widget_AppCompat_EditText = 0x7f0f008e; + public static int Base_Widget_AppCompat_ImageButton = 0x7f0f008f; + public static int Base_Widget_AppCompat_Light_ActionBar = 0x7f0f0090; + public static int Base_Widget_AppCompat_Light_ActionBar_Solid = 0x7f0f0091; + public static int Base_Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0f0092; + public static int Base_Widget_AppCompat_Light_ActionBar_TabText = 0x7f0f0093; + public static int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0f0094; + public static int Base_Widget_AppCompat_Light_ActionBar_TabView = 0x7f0f0095; + public static int Base_Widget_AppCompat_Light_PopupMenu = 0x7f0f0096; + public static int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f0f0097; + public static int Base_Widget_AppCompat_ListMenuView = 0x7f0f0098; + public static int Base_Widget_AppCompat_ListPopupWindow = 0x7f0f0099; + public static int Base_Widget_AppCompat_ListView = 0x7f0f009a; + public static int Base_Widget_AppCompat_ListView_DropDown = 0x7f0f009b; + public static int Base_Widget_AppCompat_ListView_Menu = 0x7f0f009c; + public static int Base_Widget_AppCompat_PopupMenu = 0x7f0f009d; + public static int Base_Widget_AppCompat_PopupMenu_Overflow = 0x7f0f009e; + public static int Base_Widget_AppCompat_PopupWindow = 0x7f0f009f; + public static int Base_Widget_AppCompat_ProgressBar = 0x7f0f00a0; + public static int Base_Widget_AppCompat_ProgressBar_Horizontal = 0x7f0f00a1; + public static int Base_Widget_AppCompat_RatingBar = 0x7f0f00a2; + public static int Base_Widget_AppCompat_RatingBar_Indicator = 0x7f0f00a3; + public static int Base_Widget_AppCompat_RatingBar_Small = 0x7f0f00a4; + public static int Base_Widget_AppCompat_SearchView = 0x7f0f00a5; + public static int Base_Widget_AppCompat_SearchView_ActionBar = 0x7f0f00a6; + public static int Base_Widget_AppCompat_SeekBar = 0x7f0f00a7; + public static int Base_Widget_AppCompat_SeekBar_Discrete = 0x7f0f00a8; + public static int Base_Widget_AppCompat_Spinner = 0x7f0f00a9; + public static int Base_Widget_AppCompat_Spinner_Underlined = 0x7f0f00aa; + public static int Base_Widget_AppCompat_TextView = 0x7f0f00ab; + public static int Base_Widget_AppCompat_TextView_SpinnerItem = 0x7f0f00ac; + public static int Base_Widget_AppCompat_Toolbar = 0x7f0f00ad; + public static int Base_Widget_AppCompat_Toolbar_Button_Navigation = 0x7f0f00ae; + public static int ConfigWifiDirectDialog = 0x7f0f00af; + public static int FeedbackButton = 0x7f0f00b0; + public static int FeedbackText = 0x7f0f00b1; + public static int FtcButtonStyle = 0x7f0f00b2; + public static int FtcTextViewStyle = 0x7f0f00b3; + public static int FtcTextViewStyleBold = 0x7f0f00b4; + public static int OpModeDialogTextAppearance = 0x7f0f00b5; + public static int Platform_AppCompat = 0x7f0f00b6; + public static int Platform_AppCompat_Light = 0x7f0f00b7; + public static int Platform_ThemeOverlay_AppCompat = 0x7f0f00b8; + public static int Platform_ThemeOverlay_AppCompat_Dark = 0x7f0f00b9; + public static int Platform_ThemeOverlay_AppCompat_Light = 0x7f0f00ba; + public static int Platform_V21_AppCompat = 0x7f0f00bb; + public static int Platform_V21_AppCompat_Light = 0x7f0f00bc; + public static int Platform_V25_AppCompat = 0x7f0f00bd; + public static int Platform_V25_AppCompat_Light = 0x7f0f00be; + public static int Platform_Widget_AppCompat_Spinner = 0x7f0f00bf; + public static int RtlOverlay_DialogWindowTitle_AppCompat = 0x7f0f00c0; + public static int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 0x7f0f00c1; + public static int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 0x7f0f00c2; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem = 0x7f0f00c3; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 0x7f0f00c4; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut = 0x7f0f00c5; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow = 0x7f0f00c6; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 0x7f0f00c7; + public static int RtlOverlay_Widget_AppCompat_PopupMenuItem_Title = 0x7f0f00c8; + public static int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 0x7f0f00ce; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown = 0x7f0f00c9; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 0x7f0f00ca; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 0x7f0f00cb; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 0x7f0f00cc; + public static int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 0x7f0f00cd; + public static int RtlUnderlay_Widget_AppCompat_ActionButton = 0x7f0f00cf; + public static int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 0x7f0f00d0; + public static int TextAppearance_AppCompat = 0x7f0f00d1; + public static int TextAppearance_AppCompat_Body1 = 0x7f0f00d2; + public static int TextAppearance_AppCompat_Body2 = 0x7f0f00d3; + public static int TextAppearance_AppCompat_Button = 0x7f0f00d4; + public static int TextAppearance_AppCompat_Caption = 0x7f0f00d5; + public static int TextAppearance_AppCompat_Display1 = 0x7f0f00d6; + public static int TextAppearance_AppCompat_Display2 = 0x7f0f00d7; + public static int TextAppearance_AppCompat_Display3 = 0x7f0f00d8; + public static int TextAppearance_AppCompat_Display4 = 0x7f0f00d9; + public static int TextAppearance_AppCompat_Headline = 0x7f0f00da; + public static int TextAppearance_AppCompat_Inverse = 0x7f0f00db; + public static int TextAppearance_AppCompat_Large = 0x7f0f00dc; + public static int TextAppearance_AppCompat_Large_Inverse = 0x7f0f00dd; + public static int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0f00de; + public static int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0f00df; + public static int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0f00e0; + public static int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0f00e1; + public static int TextAppearance_AppCompat_Medium = 0x7f0f00e2; + public static int TextAppearance_AppCompat_Medium_Inverse = 0x7f0f00e3; + public static int TextAppearance_AppCompat_Menu = 0x7f0f00e4; + public static int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0f00e5; + public static int TextAppearance_AppCompat_SearchResult_Title = 0x7f0f00e6; + public static int TextAppearance_AppCompat_Small = 0x7f0f00e7; + public static int TextAppearance_AppCompat_Small_Inverse = 0x7f0f00e8; + public static int TextAppearance_AppCompat_Subhead = 0x7f0f00e9; + public static int TextAppearance_AppCompat_Subhead_Inverse = 0x7f0f00ea; + public static int TextAppearance_AppCompat_Title = 0x7f0f00eb; + public static int TextAppearance_AppCompat_Title_Inverse = 0x7f0f00ec; + public static int TextAppearance_AppCompat_Tooltip = 0x7f0f00ed; + public static int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0f00ee; + public static int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0f00ef; + public static int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0f00f0; + public static int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0f00f1; + public static int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0f00f2; + public static int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0f00f3; + public static int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0f00f4; + public static int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0f00f5; + public static int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0f00f6; + public static int TextAppearance_AppCompat_Widget_Button = 0x7f0f00f7; + public static int TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 0x7f0f00f8; + public static int TextAppearance_AppCompat_Widget_Button_Colored = 0x7f0f00f9; + public static int TextAppearance_AppCompat_Widget_Button_Inverse = 0x7f0f00fa; + public static int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0f00fb; + public static int TextAppearance_AppCompat_Widget_PopupMenu_Header = 0x7f0f00fc; + public static int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0f00fd; + public static int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0f00fe; + public static int TextAppearance_AppCompat_Widget_Switch = 0x7f0f00ff; + public static int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 0x7f0f0100; + public static int TextAppearance_Compat_Notification = 0x7f0f0101; + public static int TextAppearance_Compat_Notification_Info = 0x7f0f0102; + public static int TextAppearance_Compat_Notification_Line2 = 0x7f0f0103; + public static int TextAppearance_Compat_Notification_Time = 0x7f0f0104; + public static int TextAppearance_Compat_Notification_Title = 0x7f0f0105; + public static int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0f0106; + public static int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 0x7f0f0107; + public static int TextAppearance_Widget_AppCompat_Toolbar_Title = 0x7f0f0108; + public static int ThemeOverlay_AppCompat = 0x7f0f011f; + public static int ThemeOverlay_AppCompat_ActionBar = 0x7f0f0120; + public static int ThemeOverlay_AppCompat_Dark = 0x7f0f0121; + public static int ThemeOverlay_AppCompat_Dark_ActionBar = 0x7f0f0122; + public static int ThemeOverlay_AppCompat_DayNight = 0x7f0f0123; + public static int ThemeOverlay_AppCompat_DayNight_ActionBar = 0x7f0f0124; + public static int ThemeOverlay_AppCompat_Dialog = 0x7f0f0125; + public static int ThemeOverlay_AppCompat_Dialog_Alert = 0x7f0f0126; + public static int ThemeOverlay_AppCompat_Light = 0x7f0f0127; + public static int Theme_AppCompat = 0x7f0f0109; + public static int Theme_AppCompat_CompactMenu = 0x7f0f010a; + public static int Theme_AppCompat_DayNight = 0x7f0f010b; + public static int Theme_AppCompat_DayNight_DarkActionBar = 0x7f0f010c; + public static int Theme_AppCompat_DayNight_Dialog = 0x7f0f010d; + public static int Theme_AppCompat_DayNight_DialogWhenLarge = 0x7f0f0110; + public static int Theme_AppCompat_DayNight_Dialog_Alert = 0x7f0f010e; + public static int Theme_AppCompat_DayNight_Dialog_MinWidth = 0x7f0f010f; + public static int Theme_AppCompat_DayNight_NoActionBar = 0x7f0f0111; + public static int Theme_AppCompat_Dialog = 0x7f0f0112; + public static int Theme_AppCompat_DialogWhenLarge = 0x7f0f0115; + public static int Theme_AppCompat_Dialog_Alert = 0x7f0f0113; + public static int Theme_AppCompat_Dialog_MinWidth = 0x7f0f0114; + public static int Theme_AppCompat_Empty = 0x7f0f0116; + public static int Theme_AppCompat_Light = 0x7f0f0117; + public static int Theme_AppCompat_Light_DarkActionBar = 0x7f0f0118; + public static int Theme_AppCompat_Light_Dialog = 0x7f0f0119; + public static int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0f011c; + public static int Theme_AppCompat_Light_Dialog_Alert = 0x7f0f011a; + public static int Theme_AppCompat_Light_Dialog_MinWidth = 0x7f0f011b; + public static int Theme_AppCompat_Light_NoActionBar = 0x7f0f011d; + public static int Theme_AppCompat_NoActionBar = 0x7f0f011e; + public static int Widget_AppCompat_ActionBar = 0x7f0f0128; + public static int Widget_AppCompat_ActionBar_Solid = 0x7f0f0129; + public static int Widget_AppCompat_ActionBar_TabBar = 0x7f0f012a; + public static int Widget_AppCompat_ActionBar_TabText = 0x7f0f012b; + public static int Widget_AppCompat_ActionBar_TabView = 0x7f0f012c; + public static int Widget_AppCompat_ActionButton = 0x7f0f012d; + public static int Widget_AppCompat_ActionButton_CloseMode = 0x7f0f012e; + public static int Widget_AppCompat_ActionButton_Overflow = 0x7f0f012f; + public static int Widget_AppCompat_ActionMode = 0x7f0f0130; + public static int Widget_AppCompat_ActivityChooserView = 0x7f0f0131; + public static int Widget_AppCompat_AutoCompleteTextView = 0x7f0f0132; + public static int Widget_AppCompat_Button = 0x7f0f0133; + public static int Widget_AppCompat_ButtonBar = 0x7f0f0139; + public static int Widget_AppCompat_ButtonBar_AlertDialog = 0x7f0f013a; + public static int Widget_AppCompat_Button_Borderless = 0x7f0f0134; + public static int Widget_AppCompat_Button_Borderless_Colored = 0x7f0f0135; + public static int Widget_AppCompat_Button_ButtonBar_AlertDialog = 0x7f0f0136; + public static int Widget_AppCompat_Button_Colored = 0x7f0f0137; + public static int Widget_AppCompat_Button_Small = 0x7f0f0138; + public static int Widget_AppCompat_CompoundButton_CheckBox = 0x7f0f013b; + public static int Widget_AppCompat_CompoundButton_RadioButton = 0x7f0f013c; + public static int Widget_AppCompat_CompoundButton_Switch = 0x7f0f013d; + public static int Widget_AppCompat_DrawerArrowToggle = 0x7f0f013e; + public static int Widget_AppCompat_DropDownItem_Spinner = 0x7f0f013f; + public static int Widget_AppCompat_EditText = 0x7f0f0140; + public static int Widget_AppCompat_ImageButton = 0x7f0f0141; + public static int Widget_AppCompat_Light_ActionBar = 0x7f0f0142; + public static int Widget_AppCompat_Light_ActionBar_Solid = 0x7f0f0143; + public static int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f0f0144; + public static int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0f0145; + public static int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f0f0146; + public static int Widget_AppCompat_Light_ActionBar_TabText = 0x7f0f0147; + public static int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0f0148; + public static int Widget_AppCompat_Light_ActionBar_TabView = 0x7f0f0149; + public static int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f0f014a; + public static int Widget_AppCompat_Light_ActionButton = 0x7f0f014b; + public static int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f0f014c; + public static int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f0f014d; + public static int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f0f014e; + public static int Widget_AppCompat_Light_ActivityChooserView = 0x7f0f014f; + public static int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f0f0150; + public static int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f0f0151; + public static int Widget_AppCompat_Light_ListPopupWindow = 0x7f0f0152; + public static int Widget_AppCompat_Light_ListView_DropDown = 0x7f0f0153; + public static int Widget_AppCompat_Light_PopupMenu = 0x7f0f0154; + public static int Widget_AppCompat_Light_PopupMenu_Overflow = 0x7f0f0155; + public static int Widget_AppCompat_Light_SearchView = 0x7f0f0156; + public static int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f0f0157; + public static int Widget_AppCompat_ListMenuView = 0x7f0f0158; + public static int Widget_AppCompat_ListPopupWindow = 0x7f0f0159; + public static int Widget_AppCompat_ListView = 0x7f0f015a; + public static int Widget_AppCompat_ListView_DropDown = 0x7f0f015b; + public static int Widget_AppCompat_ListView_Menu = 0x7f0f015c; + public static int Widget_AppCompat_PopupMenu = 0x7f0f015d; + public static int Widget_AppCompat_PopupMenu_Overflow = 0x7f0f015e; + public static int Widget_AppCompat_PopupWindow = 0x7f0f015f; + public static int Widget_AppCompat_ProgressBar = 0x7f0f0160; + public static int Widget_AppCompat_ProgressBar_Horizontal = 0x7f0f0161; + public static int Widget_AppCompat_RatingBar = 0x7f0f0162; + public static int Widget_AppCompat_RatingBar_Indicator = 0x7f0f0163; + public static int Widget_AppCompat_RatingBar_Small = 0x7f0f0164; + public static int Widget_AppCompat_SearchView = 0x7f0f0165; + public static int Widget_AppCompat_SearchView_ActionBar = 0x7f0f0166; + public static int Widget_AppCompat_SeekBar = 0x7f0f0167; + public static int Widget_AppCompat_SeekBar_Discrete = 0x7f0f0168; + public static int Widget_AppCompat_Spinner = 0x7f0f0169; + public static int Widget_AppCompat_Spinner_DropDown = 0x7f0f016a; + public static int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f0f016b; + public static int Widget_AppCompat_Spinner_Underlined = 0x7f0f016c; + public static int Widget_AppCompat_TextView = 0x7f0f016d; + public static int Widget_AppCompat_TextView_SpinnerItem = 0x7f0f016e; + public static int Widget_AppCompat_Toolbar = 0x7f0f016f; + public static int Widget_AppCompat_Toolbar_Button_Navigation = 0x7f0f0170; + public static int Widget_Compat_NotificationActionContainer = 0x7f0f0171; + public static int Widget_Compat_NotificationActionText = 0x7f0f0172; + public static int zxing_CaptureTheme = 0x7f0f0173; + + private style() { + } + } + + public static final class styleable { + public static int ActionBarLayout_android_layout_gravity = 0x00000000; + public static int ActionBar_background = 0x00000000; + public static int ActionBar_backgroundSplit = 0x00000001; + public static int ActionBar_backgroundStacked = 0x00000002; + public static int ActionBar_contentInsetEnd = 0x00000003; + public static int ActionBar_contentInsetEndWithActions = 0x00000004; + public static int ActionBar_contentInsetLeft = 0x00000005; + public static int ActionBar_contentInsetRight = 0x00000006; + public static int ActionBar_contentInsetStart = 0x00000007; + public static int ActionBar_contentInsetStartWithNavigation = 0x00000008; + public static int ActionBar_customNavigationLayout = 0x00000009; + public static int ActionBar_displayOptions = 0x0000000a; + public static int ActionBar_divider = 0x0000000b; + public static int ActionBar_elevation = 0x0000000c; + public static int ActionBar_height = 0x0000000d; + public static int ActionBar_hideOnContentScroll = 0x0000000e; + public static int ActionBar_homeAsUpIndicator = 0x0000000f; + public static int ActionBar_homeLayout = 0x00000010; + public static int ActionBar_icon = 0x00000011; + public static int ActionBar_indeterminateProgressStyle = 0x00000012; + public static int ActionBar_itemPadding = 0x00000013; + public static int ActionBar_logo = 0x00000014; + public static int ActionBar_navigationMode = 0x00000015; + public static int ActionBar_popupTheme = 0x00000016; + public static int ActionBar_progressBarPadding = 0x00000017; + public static int ActionBar_progressBarStyle = 0x00000018; + public static int ActionBar_subtitle = 0x00000019; + public static int ActionBar_subtitleTextStyle = 0x0000001a; + public static int ActionBar_title = 0x0000001b; + public static int ActionBar_titleTextStyle = 0x0000001c; + public static int ActionMenuItemView_android_minWidth = 0x00000000; + public static int ActionMode_background = 0x00000000; + public static int ActionMode_backgroundSplit = 0x00000001; + public static int ActionMode_closeItemLayout = 0x00000002; + public static int ActionMode_height = 0x00000003; + public static int ActionMode_subtitleTextStyle = 0x00000004; + public static int ActionMode_titleTextStyle = 0x00000005; + public static int ActivityChooserView_expandActivityOverflowButtonDrawable = 0x00000000; + public static int ActivityChooserView_initialActivityCount = 0x00000001; + public static int AlertDialog_android_layout = 0x00000000; + public static int AlertDialog_buttonIconDimen = 0x00000001; + public static int AlertDialog_buttonPanelSideLayout = 0x00000002; + public static int AlertDialog_listItemLayout = 0x00000003; + public static int AlertDialog_listLayout = 0x00000004; + public static int AlertDialog_multiChoiceItemLayout = 0x00000005; + public static int AlertDialog_showTitle = 0x00000006; + public static int AlertDialog_singleChoiceItemLayout = 0x00000007; + public static int AnimatedStateListDrawableCompat_android_constantSize = 0x00000003; + public static int AnimatedStateListDrawableCompat_android_dither = 0x00000000; + public static int AnimatedStateListDrawableCompat_android_enterFadeDuration = 0x00000004; + public static int AnimatedStateListDrawableCompat_android_exitFadeDuration = 0x00000005; + public static int AnimatedStateListDrawableCompat_android_variablePadding = 0x00000002; + public static int AnimatedStateListDrawableCompat_android_visible = 0x00000001; + public static int AnimatedStateListDrawableItem_android_drawable = 0x00000001; + public static int AnimatedStateListDrawableItem_android_id = 0x00000000; + public static int AnimatedStateListDrawableTransition_android_drawable = 0x00000000; + public static int AnimatedStateListDrawableTransition_android_fromId = 0x00000002; + public static int AnimatedStateListDrawableTransition_android_reversible = 0x00000003; + public static int AnimatedStateListDrawableTransition_android_toId = 0x00000001; + public static int AppCompatImageView_android_src = 0x00000000; + public static int AppCompatImageView_srcCompat = 0x00000001; + public static int AppCompatImageView_tint = 0x00000002; + public static int AppCompatImageView_tintMode = 0x00000003; + public static int AppCompatSeekBar_android_thumb = 0x00000000; + public static int AppCompatSeekBar_tickMark = 0x00000001; + public static int AppCompatSeekBar_tickMarkTint = 0x00000002; + public static int AppCompatSeekBar_tickMarkTintMode = 0x00000003; + public static int AppCompatTextHelper_android_drawableBottom = 0x00000002; + public static int AppCompatTextHelper_android_drawableEnd = 0x00000006; + public static int AppCompatTextHelper_android_drawableLeft = 0x00000003; + public static int AppCompatTextHelper_android_drawableRight = 0x00000004; + public static int AppCompatTextHelper_android_drawableStart = 0x00000005; + public static int AppCompatTextHelper_android_drawableTop = 0x00000001; + public static int AppCompatTextHelper_android_textAppearance = 0x00000000; + public static int AppCompatTextView_android_textAppearance = 0x00000000; + public static int AppCompatTextView_autoSizeMaxTextSize = 0x00000001; + public static int AppCompatTextView_autoSizeMinTextSize = 0x00000002; + public static int AppCompatTextView_autoSizePresetSizes = 0x00000003; + public static int AppCompatTextView_autoSizeStepGranularity = 0x00000004; + public static int AppCompatTextView_autoSizeTextType = 0x00000005; + public static int AppCompatTextView_drawableBottomCompat = 0x00000006; + public static int AppCompatTextView_drawableEndCompat = 0x00000007; + public static int AppCompatTextView_drawableLeftCompat = 0x00000008; + public static int AppCompatTextView_drawableRightCompat = 0x00000009; + public static int AppCompatTextView_drawableStartCompat = 0x0000000a; + public static int AppCompatTextView_drawableTint = 0x0000000b; + public static int AppCompatTextView_drawableTintMode = 0x0000000c; + public static int AppCompatTextView_drawableTopCompat = 0x0000000d; + public static int AppCompatTextView_firstBaselineToTopHeight = 0x0000000e; + public static int AppCompatTextView_fontFamily = 0x0000000f; + public static int AppCompatTextView_fontVariationSettings = 0x00000010; + public static int AppCompatTextView_lastBaselineToBottomHeight = 0x00000011; + public static int AppCompatTextView_lineHeight = 0x00000012; + public static int AppCompatTextView_textAllCaps = 0x00000013; + public static int AppCompatTextView_textLocale = 0x00000014; + public static int AppCompatTheme_actionBarDivider = 0x00000002; + public static int AppCompatTheme_actionBarItemBackground = 0x00000003; + public static int AppCompatTheme_actionBarPopupTheme = 0x00000004; + public static int AppCompatTheme_actionBarSize = 0x00000005; + public static int AppCompatTheme_actionBarSplitStyle = 0x00000006; + public static int AppCompatTheme_actionBarStyle = 0x00000007; + public static int AppCompatTheme_actionBarTabBarStyle = 0x00000008; + public static int AppCompatTheme_actionBarTabStyle = 0x00000009; + public static int AppCompatTheme_actionBarTabTextStyle = 0x0000000a; + public static int AppCompatTheme_actionBarTheme = 0x0000000b; + public static int AppCompatTheme_actionBarWidgetTheme = 0x0000000c; + public static int AppCompatTheme_actionButtonStyle = 0x0000000d; + public static int AppCompatTheme_actionDropDownStyle = 0x0000000e; + public static int AppCompatTheme_actionMenuTextAppearance = 0x0000000f; + public static int AppCompatTheme_actionMenuTextColor = 0x00000010; + public static int AppCompatTheme_actionModeBackground = 0x00000011; + public static int AppCompatTheme_actionModeCloseButtonStyle = 0x00000012; + public static int AppCompatTheme_actionModeCloseDrawable = 0x00000013; + public static int AppCompatTheme_actionModeCopyDrawable = 0x00000014; + public static int AppCompatTheme_actionModeCutDrawable = 0x00000015; + public static int AppCompatTheme_actionModeFindDrawable = 0x00000016; + public static int AppCompatTheme_actionModePasteDrawable = 0x00000017; + public static int AppCompatTheme_actionModePopupWindowStyle = 0x00000018; + public static int AppCompatTheme_actionModeSelectAllDrawable = 0x00000019; + public static int AppCompatTheme_actionModeShareDrawable = 0x0000001a; + public static int AppCompatTheme_actionModeSplitBackground = 0x0000001b; + public static int AppCompatTheme_actionModeStyle = 0x0000001c; + public static int AppCompatTheme_actionModeWebSearchDrawable = 0x0000001d; + public static int AppCompatTheme_actionOverflowButtonStyle = 0x0000001e; + public static int AppCompatTheme_actionOverflowMenuStyle = 0x0000001f; + public static int AppCompatTheme_activityChooserViewStyle = 0x00000020; + public static int AppCompatTheme_alertDialogButtonGroupStyle = 0x00000021; + public static int AppCompatTheme_alertDialogCenterButtons = 0x00000022; + public static int AppCompatTheme_alertDialogStyle = 0x00000023; + public static int AppCompatTheme_alertDialogTheme = 0x00000024; + public static int AppCompatTheme_android_windowAnimationStyle = 0x00000001; + public static int AppCompatTheme_android_windowIsFloating = 0x00000000; + public static int AppCompatTheme_autoCompleteTextViewStyle = 0x00000025; + public static int AppCompatTheme_borderlessButtonStyle = 0x00000026; + public static int AppCompatTheme_buttonBarButtonStyle = 0x00000027; + public static int AppCompatTheme_buttonBarNegativeButtonStyle = 0x00000028; + public static int AppCompatTheme_buttonBarNeutralButtonStyle = 0x00000029; + public static int AppCompatTheme_buttonBarPositiveButtonStyle = 0x0000002a; + public static int AppCompatTheme_buttonBarStyle = 0x0000002b; + public static int AppCompatTheme_buttonStyle = 0x0000002c; + public static int AppCompatTheme_buttonStyleSmall = 0x0000002d; + public static int AppCompatTheme_checkboxStyle = 0x0000002e; + public static int AppCompatTheme_checkedTextViewStyle = 0x0000002f; + public static int AppCompatTheme_colorAccent = 0x00000030; + public static int AppCompatTheme_colorBackgroundFloating = 0x00000031; + public static int AppCompatTheme_colorButtonNormal = 0x00000032; + public static int AppCompatTheme_colorControlActivated = 0x00000033; + public static int AppCompatTheme_colorControlHighlight = 0x00000034; + public static int AppCompatTheme_colorControlNormal = 0x00000035; + public static int AppCompatTheme_colorError = 0x00000036; + public static int AppCompatTheme_colorPrimary = 0x00000037; + public static int AppCompatTheme_colorPrimaryDark = 0x00000038; + public static int AppCompatTheme_colorSwitchThumbNormal = 0x00000039; + public static int AppCompatTheme_controlBackground = 0x0000003a; + public static int AppCompatTheme_dialogCornerRadius = 0x0000003b; + public static int AppCompatTheme_dialogPreferredPadding = 0x0000003c; + public static int AppCompatTheme_dialogTheme = 0x0000003d; + public static int AppCompatTheme_dividerHorizontal = 0x0000003e; + public static int AppCompatTheme_dividerVertical = 0x0000003f; + public static int AppCompatTheme_dropDownListViewStyle = 0x00000040; + public static int AppCompatTheme_dropdownListPreferredItemHeight = 0x00000041; + public static int AppCompatTheme_editTextBackground = 0x00000042; + public static int AppCompatTheme_editTextColor = 0x00000043; + public static int AppCompatTheme_editTextStyle = 0x00000044; + public static int AppCompatTheme_homeAsUpIndicator = 0x00000045; + public static int AppCompatTheme_imageButtonStyle = 0x00000046; + public static int AppCompatTheme_listChoiceBackgroundIndicator = 0x00000047; + public static int AppCompatTheme_listChoiceIndicatorMultipleAnimated = 0x00000048; + public static int AppCompatTheme_listChoiceIndicatorSingleAnimated = 0x00000049; + public static int AppCompatTheme_listDividerAlertDialog = 0x0000004a; + public static int AppCompatTheme_listMenuViewStyle = 0x0000004b; + public static int AppCompatTheme_listPopupWindowStyle = 0x0000004c; + public static int AppCompatTheme_listPreferredItemHeight = 0x0000004d; + public static int AppCompatTheme_listPreferredItemHeightLarge = 0x0000004e; + public static int AppCompatTheme_listPreferredItemHeightSmall = 0x0000004f; + public static int AppCompatTheme_listPreferredItemPaddingEnd = 0x00000050; + public static int AppCompatTheme_listPreferredItemPaddingLeft = 0x00000051; + public static int AppCompatTheme_listPreferredItemPaddingRight = 0x00000052; + public static int AppCompatTheme_listPreferredItemPaddingStart = 0x00000053; + public static int AppCompatTheme_panelBackground = 0x00000054; + public static int AppCompatTheme_panelMenuListTheme = 0x00000055; + public static int AppCompatTheme_panelMenuListWidth = 0x00000056; + public static int AppCompatTheme_popupMenuStyle = 0x00000057; + public static int AppCompatTheme_popupWindowStyle = 0x00000058; + public static int AppCompatTheme_radioButtonStyle = 0x00000059; + public static int AppCompatTheme_ratingBarStyle = 0x0000005a; + public static int AppCompatTheme_ratingBarStyleIndicator = 0x0000005b; + public static int AppCompatTheme_ratingBarStyleSmall = 0x0000005c; + public static int AppCompatTheme_searchViewStyle = 0x0000005d; + public static int AppCompatTheme_seekBarStyle = 0x0000005e; + public static int AppCompatTheme_selectableItemBackground = 0x0000005f; + public static int AppCompatTheme_selectableItemBackgroundBorderless = 0x00000060; + public static int AppCompatTheme_spinnerDropDownItemStyle = 0x00000061; + public static int AppCompatTheme_spinnerStyle = 0x00000062; + public static int AppCompatTheme_switchStyle = 0x00000063; + public static int AppCompatTheme_textAppearanceLargePopupMenu = 0x00000064; + public static int AppCompatTheme_textAppearanceListItem = 0x00000065; + public static int AppCompatTheme_textAppearanceListItemSecondary = 0x00000066; + public static int AppCompatTheme_textAppearanceListItemSmall = 0x00000067; + public static int AppCompatTheme_textAppearancePopupMenuHeader = 0x00000068; + public static int AppCompatTheme_textAppearanceSearchResultSubtitle = 0x00000069; + public static int AppCompatTheme_textAppearanceSearchResultTitle = 0x0000006a; + public static int AppCompatTheme_textAppearanceSmallPopupMenu = 0x0000006b; + public static int AppCompatTheme_textColorAlertDialogListItem = 0x0000006c; + public static int AppCompatTheme_textColorSearchUrl = 0x0000006d; + public static int AppCompatTheme_toolbarNavigationButtonStyle = 0x0000006e; + public static int AppCompatTheme_toolbarStyle = 0x0000006f; + public static int AppCompatTheme_tooltipForegroundColor = 0x00000070; + public static int AppCompatTheme_tooltipFrameBackground = 0x00000071; + public static int AppCompatTheme_viewInflaterClass = 0x00000072; + public static int AppCompatTheme_windowActionBar = 0x00000073; + public static int AppCompatTheme_windowActionBarOverlay = 0x00000074; + public static int AppCompatTheme_windowActionModeOverlay = 0x00000075; + public static int AppCompatTheme_windowFixedHeightMajor = 0x00000076; + public static int AppCompatTheme_windowFixedHeightMinor = 0x00000077; + public static int AppCompatTheme_windowFixedWidthMajor = 0x00000078; + public static int AppCompatTheme_windowFixedWidthMinor = 0x00000079; + public static int AppCompatTheme_windowMinWidthMajor = 0x0000007a; + public static int AppCompatTheme_windowMinWidthMinor = 0x0000007b; + public static int AppCompatTheme_windowNoTitle = 0x0000007c; + public static int ButtonBarLayout_allowStacking = 0x00000000; + public static int CameraBridgeViewBase_camera_id = 0x00000000; + public static int CameraBridgeViewBase_show_fps = 0x00000001; + public static int ColorListPreference_colors = 0x00000000; + public static int ColorStateListItem_alpha = 0x00000002; + public static int ColorStateListItem_android_alpha = 0x00000001; + public static int ColorStateListItem_android_color = 0x00000000; + public static int CompoundButton_android_button = 0x00000000; + public static int CompoundButton_buttonCompat = 0x00000001; + public static int CompoundButton_buttonTint = 0x00000002; + public static int CompoundButton_buttonTintMode = 0x00000003; + public static int DrawerArrowToggle_arrowHeadLength = 0x00000000; + public static int DrawerArrowToggle_arrowShaftLength = 0x00000001; + public static int DrawerArrowToggle_barLength = 0x00000002; + public static int DrawerArrowToggle_color = 0x00000003; + public static int DrawerArrowToggle_drawableSize = 0x00000004; + public static int DrawerArrowToggle_gapBetweenBars = 0x00000005; + public static int DrawerArrowToggle_spinBars = 0x00000006; + public static int DrawerArrowToggle_thickness = 0x00000007; + public static int FontFamilyFont_android_font = 0x00000000; + public static int FontFamilyFont_android_fontStyle = 0x00000002; + public static int FontFamilyFont_android_fontVariationSettings = 0x00000004; + public static int FontFamilyFont_android_fontWeight = 0x00000001; + public static int FontFamilyFont_android_ttcIndex = 0x00000003; + public static int FontFamilyFont_font = 0x00000005; + public static int FontFamilyFont_fontStyle = 0x00000006; + public static int FontFamilyFont_fontVariationSettings = 0x00000007; + public static int FontFamilyFont_fontWeight = 0x00000008; + public static int FontFamilyFont_ttcIndex = 0x00000009; + public static int FontFamily_fontProviderAuthority = 0x00000000; + public static int FontFamily_fontProviderCerts = 0x00000001; + public static int FontFamily_fontProviderFetchStrategy = 0x00000002; + public static int FontFamily_fontProviderFetchTimeout = 0x00000003; + public static int FontFamily_fontProviderPackage = 0x00000004; + public static int FontFamily_fontProviderQuery = 0x00000005; + public static int GradientColorItem_android_color = 0x00000000; + public static int GradientColorItem_android_offset = 0x00000001; + public static int GradientColor_android_centerColor = 0x00000007; + public static int GradientColor_android_centerX = 0x00000003; + public static int GradientColor_android_centerY = 0x00000004; + public static int GradientColor_android_endColor = 0x00000001; + public static int GradientColor_android_endX = 0x0000000a; + public static int GradientColor_android_endY = 0x0000000b; + public static int GradientColor_android_gradientRadius = 0x00000005; + public static int GradientColor_android_startColor = 0x00000000; + public static int GradientColor_android_startX = 0x00000008; + public static int GradientColor_android_startY = 0x00000009; + public static int GradientColor_android_tileMode = 0x00000006; + public static int GradientColor_android_type = 0x00000002; + public static int LinearLayoutCompat_Layout_android_layout_gravity = 0x00000000; + public static int LinearLayoutCompat_Layout_android_layout_height = 0x00000002; + public static int LinearLayoutCompat_Layout_android_layout_weight = 0x00000003; + public static int LinearLayoutCompat_Layout_android_layout_width = 0x00000001; + public static int LinearLayoutCompat_android_baselineAligned = 0x00000002; + public static int LinearLayoutCompat_android_baselineAlignedChildIndex = 0x00000003; + public static int LinearLayoutCompat_android_gravity = 0x00000000; + public static int LinearLayoutCompat_android_orientation = 0x00000001; + public static int LinearLayoutCompat_android_weightSum = 0x00000004; + public static int LinearLayoutCompat_divider = 0x00000005; + public static int LinearLayoutCompat_dividerPadding = 0x00000006; + public static int LinearLayoutCompat_measureWithLargestChild = 0x00000007; + public static int LinearLayoutCompat_showDividers = 0x00000008; + public static int ListPopupWindow_android_dropDownHorizontalOffset = 0x00000000; + public static int ListPopupWindow_android_dropDownVerticalOffset = 0x00000001; + public static int MenuGroup_android_checkableBehavior = 0x00000005; + public static int MenuGroup_android_enabled = 0x00000000; + public static int MenuGroup_android_id = 0x00000001; + public static int MenuGroup_android_menuCategory = 0x00000003; + public static int MenuGroup_android_orderInCategory = 0x00000004; + public static int MenuGroup_android_visible = 0x00000002; + public static int MenuItem_actionLayout = 0x0000000d; + public static int MenuItem_actionProviderClass = 0x0000000e; + public static int MenuItem_actionViewClass = 0x0000000f; + public static int MenuItem_alphabeticModifiers = 0x00000010; + public static int MenuItem_android_alphabeticShortcut = 0x00000009; + public static int MenuItem_android_checkable = 0x0000000b; + public static int MenuItem_android_checked = 0x00000003; + public static int MenuItem_android_enabled = 0x00000001; + public static int MenuItem_android_icon = 0x00000000; + public static int MenuItem_android_id = 0x00000002; + public static int MenuItem_android_menuCategory = 0x00000005; + public static int MenuItem_android_numericShortcut = 0x0000000a; + public static int MenuItem_android_onClick = 0x0000000c; + public static int MenuItem_android_orderInCategory = 0x00000006; + public static int MenuItem_android_title = 0x00000007; + public static int MenuItem_android_titleCondensed = 0x00000008; + public static int MenuItem_android_visible = 0x00000004; + public static int MenuItem_contentDescription = 0x00000011; + public static int MenuItem_iconTint = 0x00000012; + public static int MenuItem_iconTintMode = 0x00000013; + public static int MenuItem_numericModifiers = 0x00000014; + public static int MenuItem_showAsAction = 0x00000015; + public static int MenuItem_tooltipText = 0x00000016; + public static int MenuView_android_headerBackground = 0x00000004; + public static int MenuView_android_horizontalDivider = 0x00000002; + public static int MenuView_android_itemBackground = 0x00000005; + public static int MenuView_android_itemIconDisabledAlpha = 0x00000006; + public static int MenuView_android_itemTextAppearance = 0x00000001; + public static int MenuView_android_verticalDivider = 0x00000003; + public static int MenuView_android_windowAnimationStyle = 0x00000000; + public static int MenuView_preserveIconSpacing = 0x00000007; + public static int MenuView_subMenuArrow = 0x00000008; + public static int PopupWindowBackgroundState_state_above_anchor = 0x00000000; + public static int PopupWindow_android_popupAnimationStyle = 0x00000001; + public static int PopupWindow_android_popupBackground = 0x00000000; + public static int PopupWindow_overlapAnchor = 0x00000002; + public static int RecycleListView_paddingBottomNoButtons = 0x00000000; + public static int RecycleListView_paddingTopNoTitle = 0x00000001; + public static int SearchView_android_focusable = 0x00000000; + public static int SearchView_android_imeOptions = 0x00000003; + public static int SearchView_android_inputType = 0x00000002; + public static int SearchView_android_maxWidth = 0x00000001; + public static int SearchView_closeIcon = 0x00000004; + public static int SearchView_commitIcon = 0x00000005; + public static int SearchView_defaultQueryHint = 0x00000006; + public static int SearchView_goIcon = 0x00000007; + public static int SearchView_iconifiedByDefault = 0x00000008; + public static int SearchView_layout = 0x00000009; + public static int SearchView_queryBackground = 0x0000000a; + public static int SearchView_queryHint = 0x0000000b; + public static int SearchView_searchHintIcon = 0x0000000c; + public static int SearchView_searchIcon = 0x0000000d; + public static int SearchView_submitBackground = 0x0000000e; + public static int SearchView_suggestionRowLayout = 0x0000000f; + public static int SearchView_voiceIcon = 0x00000010; + public static int Spinner_android_dropDownWidth = 0x00000003; + public static int Spinner_android_entries = 0x00000000; + public static int Spinner_android_popupBackground = 0x00000001; + public static int Spinner_android_prompt = 0x00000002; + public static int Spinner_popupTheme = 0x00000004; + public static int StateListDrawableItem_android_drawable = 0x00000000; + public static int StateListDrawable_android_constantSize = 0x00000003; + public static int StateListDrawable_android_dither = 0x00000000; + public static int StateListDrawable_android_enterFadeDuration = 0x00000004; + public static int StateListDrawable_android_exitFadeDuration = 0x00000005; + public static int StateListDrawable_android_variablePadding = 0x00000002; + public static int StateListDrawable_android_visible = 0x00000001; + public static int SwitchCompat_android_textOff = 0x00000001; + public static int SwitchCompat_android_textOn = 0x00000000; + public static int SwitchCompat_android_thumb = 0x00000002; + public static int SwitchCompat_showText = 0x00000003; + public static int SwitchCompat_splitTrack = 0x00000004; + public static int SwitchCompat_switchMinWidth = 0x00000005; + public static int SwitchCompat_switchPadding = 0x00000006; + public static int SwitchCompat_switchTextAppearance = 0x00000007; + public static int SwitchCompat_thumbTextPadding = 0x00000008; + public static int SwitchCompat_thumbTint = 0x00000009; + public static int SwitchCompat_thumbTintMode = 0x0000000a; + public static int SwitchCompat_track = 0x0000000b; + public static int SwitchCompat_trackTint = 0x0000000c; + public static int SwitchCompat_trackTintMode = 0x0000000d; + public static int TextAppearance_android_fontFamily = 0x0000000a; + public static int TextAppearance_android_shadowColor = 0x00000006; + public static int TextAppearance_android_shadowDx = 0x00000007; + public static int TextAppearance_android_shadowDy = 0x00000008; + public static int TextAppearance_android_shadowRadius = 0x00000009; + public static int TextAppearance_android_textColor = 0x00000003; + public static int TextAppearance_android_textColorHint = 0x00000004; + public static int TextAppearance_android_textColorLink = 0x00000005; + public static int TextAppearance_android_textFontWeight = 0x0000000b; + public static int TextAppearance_android_textSize = 0x00000000; + public static int TextAppearance_android_textStyle = 0x00000002; + public static int TextAppearance_android_typeface = 0x00000001; + public static int TextAppearance_fontFamily = 0x0000000c; + public static int TextAppearance_fontVariationSettings = 0x0000000d; + public static int TextAppearance_textAllCaps = 0x0000000e; + public static int TextAppearance_textLocale = 0x0000000f; + public static int Toolbar_android_gravity = 0x00000000; + public static int Toolbar_android_minHeight = 0x00000001; + public static int Toolbar_buttonGravity = 0x00000002; + public static int Toolbar_collapseContentDescription = 0x00000003; + public static int Toolbar_collapseIcon = 0x00000004; + public static int Toolbar_contentInsetEnd = 0x00000005; + public static int Toolbar_contentInsetEndWithActions = 0x00000006; + public static int Toolbar_contentInsetLeft = 0x00000007; + public static int Toolbar_contentInsetRight = 0x00000008; + public static int Toolbar_contentInsetStart = 0x00000009; + public static int Toolbar_contentInsetStartWithNavigation = 0x0000000a; + public static int Toolbar_logo = 0x0000000b; + public static int Toolbar_logoDescription = 0x0000000c; + public static int Toolbar_maxButtonHeight = 0x0000000d; + public static int Toolbar_menu = 0x0000000e; + public static int Toolbar_navigationContentDescription = 0x0000000f; + public static int Toolbar_navigationIcon = 0x00000010; + public static int Toolbar_popupTheme = 0x00000011; + public static int Toolbar_subtitle = 0x00000012; + public static int Toolbar_subtitleTextAppearance = 0x00000013; + public static int Toolbar_subtitleTextColor = 0x00000014; + public static int Toolbar_title = 0x00000015; + public static int Toolbar_titleMargin = 0x00000016; + public static int Toolbar_titleMarginBottom = 0x00000017; + public static int Toolbar_titleMarginEnd = 0x00000018; + public static int Toolbar_titleMarginStart = 0x00000019; + public static int Toolbar_titleMarginTop = 0x0000001a; + public static int Toolbar_titleMargins = 0x0000001b; + public static int Toolbar_titleTextAppearance = 0x0000001c; + public static int Toolbar_titleTextColor = 0x0000001d; + public static int ViewBackgroundHelper_android_background = 0x00000000; + public static int ViewBackgroundHelper_backgroundTint = 0x00000001; + public static int ViewBackgroundHelper_backgroundTintMode = 0x00000002; + public static int ViewStubCompat_android_id = 0x00000000; + public static int ViewStubCompat_android_inflatedId = 0x00000002; + public static int ViewStubCompat_android_layout = 0x00000001; + public static int View_android_focusable = 0x00000001; + public static int View_android_theme = 0x00000000; + public static int View_paddingEnd = 0x00000002; + public static int View_paddingStart = 0x00000003; + public static int View_theme = 0x00000004; + public static int zxing_camera_preview_zxing_framing_rect_height = 0x00000000; + public static int zxing_camera_preview_zxing_framing_rect_width = 0x00000001; + public static int zxing_camera_preview_zxing_preview_scaling_strategy = 0x00000002; + public static int zxing_camera_preview_zxing_use_texture_view = 0x00000003; + public static int zxing_finder_zxing_possible_result_points = 0x00000000; + public static int zxing_finder_zxing_result_view = 0x00000001; + public static int zxing_finder_zxing_viewfinder_laser = 0x00000002; + public static int zxing_finder_zxing_viewfinder_laser_visibility = 0x00000003; + public static int zxing_finder_zxing_viewfinder_mask = 0x00000004; + public static int zxing_view_zxing_scanner_layout; + public static int[] ActionBar = {com.qualcomm.ftcrobotcontroller.R.attr.background, com.qualcomm.ftcrobotcontroller.R.attr.backgroundSplit, com.qualcomm.ftcrobotcontroller.R.attr.backgroundStacked, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEnd, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEndWithActions, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetLeft, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetRight, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStart, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStartWithNavigation, com.qualcomm.ftcrobotcontroller.R.attr.customNavigationLayout, com.qualcomm.ftcrobotcontroller.R.attr.displayOptions, com.qualcomm.ftcrobotcontroller.R.attr.divider, com.qualcomm.ftcrobotcontroller.R.attr.elevation, com.qualcomm.ftcrobotcontroller.R.attr.height, com.qualcomm.ftcrobotcontroller.R.attr.hideOnContentScroll, com.qualcomm.ftcrobotcontroller.R.attr.homeAsUpIndicator, com.qualcomm.ftcrobotcontroller.R.attr.homeLayout, com.qualcomm.ftcrobotcontroller.R.attr.icon, com.qualcomm.ftcrobotcontroller.R.attr.indeterminateProgressStyle, com.qualcomm.ftcrobotcontroller.R.attr.itemPadding, com.qualcomm.ftcrobotcontroller.R.attr.logo, com.qualcomm.ftcrobotcontroller.R.attr.navigationMode, com.qualcomm.ftcrobotcontroller.R.attr.popupTheme, com.qualcomm.ftcrobotcontroller.R.attr.progressBarPadding, com.qualcomm.ftcrobotcontroller.R.attr.progressBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.subtitle, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.title, com.qualcomm.ftcrobotcontroller.R.attr.titleTextStyle}; + public static int[] ActionBarLayout = {android.R.attr.layout_gravity}; + public static int[] ActionMenuItemView = {android.R.attr.minWidth}; + public static int[] ActionMenuView = new int[0]; + public static int[] ActionMode = {com.qualcomm.ftcrobotcontroller.R.attr.background, com.qualcomm.ftcrobotcontroller.R.attr.backgroundSplit, com.qualcomm.ftcrobotcontroller.R.attr.closeItemLayout, com.qualcomm.ftcrobotcontroller.R.attr.height, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.titleTextStyle}; + public static int[] ActivityChooserView = {com.qualcomm.ftcrobotcontroller.R.attr.expandActivityOverflowButtonDrawable, com.qualcomm.ftcrobotcontroller.R.attr.initialActivityCount}; + public static int[] AlertDialog = {android.R.attr.layout, com.qualcomm.ftcrobotcontroller.R.attr.buttonIconDimen, com.qualcomm.ftcrobotcontroller.R.attr.buttonPanelSideLayout, com.qualcomm.ftcrobotcontroller.R.attr.listItemLayout, com.qualcomm.ftcrobotcontroller.R.attr.listLayout, com.qualcomm.ftcrobotcontroller.R.attr.multiChoiceItemLayout, com.qualcomm.ftcrobotcontroller.R.attr.showTitle, com.qualcomm.ftcrobotcontroller.R.attr.singleChoiceItemLayout}; + public static int[] AnimatedStateListDrawableCompat = {android.R.attr.dither, android.R.attr.visible, android.R.attr.variablePadding, android.R.attr.constantSize, android.R.attr.enterFadeDuration, android.R.attr.exitFadeDuration}; + public static int[] AnimatedStateListDrawableItem = {android.R.attr.id, android.R.attr.drawable}; + public static int[] AnimatedStateListDrawableTransition = {android.R.attr.drawable, android.R.attr.toId, android.R.attr.fromId, android.R.attr.reversible}; + public static int[] AppCompatImageView = {android.R.attr.src, com.qualcomm.ftcrobotcontroller.R.attr.srcCompat, com.qualcomm.ftcrobotcontroller.R.attr.tint, com.qualcomm.ftcrobotcontroller.R.attr.tintMode}; + public static int[] AppCompatSeekBar = {android.R.attr.thumb, com.qualcomm.ftcrobotcontroller.R.attr.tickMark, com.qualcomm.ftcrobotcontroller.R.attr.tickMarkTint, com.qualcomm.ftcrobotcontroller.R.attr.tickMarkTintMode}; + public static int[] AppCompatTextHelper = {android.R.attr.textAppearance, android.R.attr.drawableTop, android.R.attr.drawableBottom, android.R.attr.drawableLeft, android.R.attr.drawableRight, android.R.attr.drawableStart, android.R.attr.drawableEnd}; + public static int[] AppCompatTextView = {android.R.attr.textAppearance, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeMaxTextSize, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeMinTextSize, com.qualcomm.ftcrobotcontroller.R.attr.autoSizePresetSizes, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeStepGranularity, com.qualcomm.ftcrobotcontroller.R.attr.autoSizeTextType, com.qualcomm.ftcrobotcontroller.R.attr.drawableBottomCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableEndCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableLeftCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableRightCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableStartCompat, com.qualcomm.ftcrobotcontroller.R.attr.drawableTint, com.qualcomm.ftcrobotcontroller.R.attr.drawableTintMode, com.qualcomm.ftcrobotcontroller.R.attr.drawableTopCompat, com.qualcomm.ftcrobotcontroller.R.attr.firstBaselineToTopHeight, com.qualcomm.ftcrobotcontroller.R.attr.fontFamily, com.qualcomm.ftcrobotcontroller.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.lastBaselineToBottomHeight, com.qualcomm.ftcrobotcontroller.R.attr.lineHeight, com.qualcomm.ftcrobotcontroller.R.attr.textAllCaps, com.qualcomm.ftcrobotcontroller.R.attr.textLocale}; + public static int[] AppCompatTheme = {android.R.attr.windowIsFloating, android.R.attr.windowAnimationStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarDivider, com.qualcomm.ftcrobotcontroller.R.attr.actionBarItemBackground, com.qualcomm.ftcrobotcontroller.R.attr.actionBarPopupTheme, com.qualcomm.ftcrobotcontroller.R.attr.actionBarSize, com.qualcomm.ftcrobotcontroller.R.attr.actionBarSplitStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTabBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTabStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTabTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionBarTheme, com.qualcomm.ftcrobotcontroller.R.attr.actionBarWidgetTheme, com.qualcomm.ftcrobotcontroller.R.attr.actionButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionDropDownStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionMenuTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.actionMenuTextColor, com.qualcomm.ftcrobotcontroller.R.attr.actionModeBackground, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCloseButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCloseDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCopyDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeCutDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeFindDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModePasteDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModePopupWindowStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionModeSelectAllDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeShareDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionModeSplitBackground, com.qualcomm.ftcrobotcontroller.R.attr.actionModeStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionModeWebSearchDrawable, com.qualcomm.ftcrobotcontroller.R.attr.actionOverflowButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.actionOverflowMenuStyle, com.qualcomm.ftcrobotcontroller.R.attr.activityChooserViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogButtonGroupStyle, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogCenterButtons, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogStyle, com.qualcomm.ftcrobotcontroller.R.attr.alertDialogTheme, com.qualcomm.ftcrobotcontroller.R.attr.autoCompleteTextViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.borderlessButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarNegativeButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarNeutralButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarPositiveButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonStyle, com.qualcomm.ftcrobotcontroller.R.attr.buttonStyleSmall, com.qualcomm.ftcrobotcontroller.R.attr.checkboxStyle, com.qualcomm.ftcrobotcontroller.R.attr.checkedTextViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.colorAccent, com.qualcomm.ftcrobotcontroller.R.attr.colorBackgroundFloating, com.qualcomm.ftcrobotcontroller.R.attr.colorButtonNormal, com.qualcomm.ftcrobotcontroller.R.attr.colorControlActivated, com.qualcomm.ftcrobotcontroller.R.attr.colorControlHighlight, com.qualcomm.ftcrobotcontroller.R.attr.colorControlNormal, com.qualcomm.ftcrobotcontroller.R.attr.colorError, com.qualcomm.ftcrobotcontroller.R.attr.colorPrimary, com.qualcomm.ftcrobotcontroller.R.attr.colorPrimaryDark, com.qualcomm.ftcrobotcontroller.R.attr.colorSwitchThumbNormal, com.qualcomm.ftcrobotcontroller.R.attr.controlBackground, com.qualcomm.ftcrobotcontroller.R.attr.dialogCornerRadius, com.qualcomm.ftcrobotcontroller.R.attr.dialogPreferredPadding, com.qualcomm.ftcrobotcontroller.R.attr.dialogTheme, com.qualcomm.ftcrobotcontroller.R.attr.dividerHorizontal, com.qualcomm.ftcrobotcontroller.R.attr.dividerVertical, com.qualcomm.ftcrobotcontroller.R.attr.dropDownListViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.dropdownListPreferredItemHeight, com.qualcomm.ftcrobotcontroller.R.attr.editTextBackground, com.qualcomm.ftcrobotcontroller.R.attr.editTextColor, com.qualcomm.ftcrobotcontroller.R.attr.editTextStyle, com.qualcomm.ftcrobotcontroller.R.attr.homeAsUpIndicator, com.qualcomm.ftcrobotcontroller.R.attr.imageButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.listChoiceBackgroundIndicator, com.qualcomm.ftcrobotcontroller.R.attr.listChoiceIndicatorMultipleAnimated, com.qualcomm.ftcrobotcontroller.R.attr.listChoiceIndicatorSingleAnimated, com.qualcomm.ftcrobotcontroller.R.attr.listDividerAlertDialog, com.qualcomm.ftcrobotcontroller.R.attr.listMenuViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.listPopupWindowStyle, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemHeight, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemHeightLarge, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemHeightSmall, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingEnd, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingLeft, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingRight, com.qualcomm.ftcrobotcontroller.R.attr.listPreferredItemPaddingStart, com.qualcomm.ftcrobotcontroller.R.attr.panelBackground, com.qualcomm.ftcrobotcontroller.R.attr.panelMenuListTheme, com.qualcomm.ftcrobotcontroller.R.attr.panelMenuListWidth, com.qualcomm.ftcrobotcontroller.R.attr.popupMenuStyle, com.qualcomm.ftcrobotcontroller.R.attr.popupWindowStyle, com.qualcomm.ftcrobotcontroller.R.attr.radioButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.ratingBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.ratingBarStyleIndicator, com.qualcomm.ftcrobotcontroller.R.attr.ratingBarStyleSmall, com.qualcomm.ftcrobotcontroller.R.attr.searchViewStyle, com.qualcomm.ftcrobotcontroller.R.attr.seekBarStyle, com.qualcomm.ftcrobotcontroller.R.attr.selectableItemBackground, com.qualcomm.ftcrobotcontroller.R.attr.selectableItemBackgroundBorderless, com.qualcomm.ftcrobotcontroller.R.attr.spinnerDropDownItemStyle, com.qualcomm.ftcrobotcontroller.R.attr.spinnerStyle, com.qualcomm.ftcrobotcontroller.R.attr.switchStyle, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceLargePopupMenu, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceListItem, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceListItemSecondary, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceListItemSmall, com.qualcomm.ftcrobotcontroller.R.attr.textAppearancePopupMenuHeader, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceSearchResultSubtitle, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceSearchResultTitle, com.qualcomm.ftcrobotcontroller.R.attr.textAppearanceSmallPopupMenu, com.qualcomm.ftcrobotcontroller.R.attr.textColorAlertDialogListItem, com.qualcomm.ftcrobotcontroller.R.attr.textColorSearchUrl, com.qualcomm.ftcrobotcontroller.R.attr.toolbarNavigationButtonStyle, com.qualcomm.ftcrobotcontroller.R.attr.toolbarStyle, com.qualcomm.ftcrobotcontroller.R.attr.tooltipForegroundColor, com.qualcomm.ftcrobotcontroller.R.attr.tooltipFrameBackground, com.qualcomm.ftcrobotcontroller.R.attr.viewInflaterClass, com.qualcomm.ftcrobotcontroller.R.attr.windowActionBar, com.qualcomm.ftcrobotcontroller.R.attr.windowActionBarOverlay, com.qualcomm.ftcrobotcontroller.R.attr.windowActionModeOverlay, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedHeightMajor, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedHeightMinor, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedWidthMajor, com.qualcomm.ftcrobotcontroller.R.attr.windowFixedWidthMinor, com.qualcomm.ftcrobotcontroller.R.attr.windowMinWidthMajor, com.qualcomm.ftcrobotcontroller.R.attr.windowMinWidthMinor, com.qualcomm.ftcrobotcontroller.R.attr.windowNoTitle}; + public static int[] ButtonBarLayout = {com.qualcomm.ftcrobotcontroller.R.attr.allowStacking}; + public static int[] CameraBridgeViewBase = {com.qualcomm.ftcrobotcontroller.R.attr.camera_id, com.qualcomm.ftcrobotcontroller.R.attr.show_fps}; + public static int[] ColorListPreference = {com.qualcomm.ftcrobotcontroller.R.attr.colors}; + public static int[] ColorStateListItem = {android.R.attr.color, android.R.attr.alpha, com.qualcomm.ftcrobotcontroller.R.attr.alpha}; + public static int[] CompoundButton = {android.R.attr.button, com.qualcomm.ftcrobotcontroller.R.attr.buttonCompat, com.qualcomm.ftcrobotcontroller.R.attr.buttonTint, com.qualcomm.ftcrobotcontroller.R.attr.buttonTintMode}; + public static int[] DrawerArrowToggle = {com.qualcomm.ftcrobotcontroller.R.attr.arrowHeadLength, com.qualcomm.ftcrobotcontroller.R.attr.arrowShaftLength, com.qualcomm.ftcrobotcontroller.R.attr.barLength, com.qualcomm.ftcrobotcontroller.R.attr.color, com.qualcomm.ftcrobotcontroller.R.attr.drawableSize, com.qualcomm.ftcrobotcontroller.R.attr.gapBetweenBars, com.qualcomm.ftcrobotcontroller.R.attr.spinBars, com.qualcomm.ftcrobotcontroller.R.attr.thickness}; + public static int[] FontFamily = {com.qualcomm.ftcrobotcontroller.R.attr.fontProviderAuthority, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderCerts, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderFetchStrategy, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderFetchTimeout, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderPackage, com.qualcomm.ftcrobotcontroller.R.attr.fontProviderQuery}; + public static int[] FontFamilyFont = {android.R.attr.font, android.R.attr.fontWeight, android.R.attr.fontStyle, android.R.attr.ttcIndex, android.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.font, com.qualcomm.ftcrobotcontroller.R.attr.fontStyle, com.qualcomm.ftcrobotcontroller.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.fontWeight, com.qualcomm.ftcrobotcontroller.R.attr.ttcIndex}; + public static int[] GradientColor = {android.R.attr.startColor, android.R.attr.endColor, android.R.attr.type, android.R.attr.centerX, android.R.attr.centerY, android.R.attr.gradientRadius, android.R.attr.tileMode, android.R.attr.centerColor, android.R.attr.startX, android.R.attr.startY, android.R.attr.endX, android.R.attr.endY}; + public static int[] GradientColorItem = {android.R.attr.color, android.R.attr.offset}; + public static int[] LinearLayoutCompat = {android.R.attr.gravity, android.R.attr.orientation, android.R.attr.baselineAligned, android.R.attr.baselineAlignedChildIndex, android.R.attr.weightSum, com.qualcomm.ftcrobotcontroller.R.attr.divider, com.qualcomm.ftcrobotcontroller.R.attr.dividerPadding, com.qualcomm.ftcrobotcontroller.R.attr.measureWithLargestChild, com.qualcomm.ftcrobotcontroller.R.attr.showDividers}; + public static int[] LinearLayoutCompat_Layout = {android.R.attr.layout_gravity, android.R.attr.layout_width, android.R.attr.layout_height, android.R.attr.layout_weight}; + public static int[] ListPopupWindow = {android.R.attr.dropDownHorizontalOffset, android.R.attr.dropDownVerticalOffset}; + public static int[] MenuGroup = {android.R.attr.enabled, android.R.attr.id, android.R.attr.visible, android.R.attr.menuCategory, android.R.attr.orderInCategory, android.R.attr.checkableBehavior}; + public static int[] MenuItem = {android.R.attr.icon, android.R.attr.enabled, android.R.attr.id, android.R.attr.checked, android.R.attr.visible, android.R.attr.menuCategory, android.R.attr.orderInCategory, android.R.attr.title, android.R.attr.titleCondensed, android.R.attr.alphabeticShortcut, android.R.attr.numericShortcut, android.R.attr.checkable, android.R.attr.onClick, com.qualcomm.ftcrobotcontroller.R.attr.actionLayout, com.qualcomm.ftcrobotcontroller.R.attr.actionProviderClass, com.qualcomm.ftcrobotcontroller.R.attr.actionViewClass, com.qualcomm.ftcrobotcontroller.R.attr.alphabeticModifiers, com.qualcomm.ftcrobotcontroller.R.attr.contentDescription, com.qualcomm.ftcrobotcontroller.R.attr.iconTint, com.qualcomm.ftcrobotcontroller.R.attr.iconTintMode, com.qualcomm.ftcrobotcontroller.R.attr.numericModifiers, com.qualcomm.ftcrobotcontroller.R.attr.showAsAction, com.qualcomm.ftcrobotcontroller.R.attr.tooltipText}; + public static int[] MenuView = {android.R.attr.windowAnimationStyle, android.R.attr.itemTextAppearance, android.R.attr.horizontalDivider, android.R.attr.verticalDivider, android.R.attr.headerBackground, android.R.attr.itemBackground, android.R.attr.itemIconDisabledAlpha, com.qualcomm.ftcrobotcontroller.R.attr.preserveIconSpacing, com.qualcomm.ftcrobotcontroller.R.attr.subMenuArrow}; + public static int[] PopupWindow = {android.R.attr.popupBackground, android.R.attr.popupAnimationStyle, com.qualcomm.ftcrobotcontroller.R.attr.overlapAnchor}; + public static int[] PopupWindowBackgroundState = {com.qualcomm.ftcrobotcontroller.R.attr.state_above_anchor}; + public static int[] RecycleListView = {com.qualcomm.ftcrobotcontroller.R.attr.paddingBottomNoButtons, com.qualcomm.ftcrobotcontroller.R.attr.paddingTopNoTitle}; + public static int[] SearchView = {android.R.attr.focusable, android.R.attr.maxWidth, android.R.attr.inputType, android.R.attr.imeOptions, com.qualcomm.ftcrobotcontroller.R.attr.closeIcon, com.qualcomm.ftcrobotcontroller.R.attr.commitIcon, com.qualcomm.ftcrobotcontroller.R.attr.defaultQueryHint, com.qualcomm.ftcrobotcontroller.R.attr.goIcon, com.qualcomm.ftcrobotcontroller.R.attr.iconifiedByDefault, com.qualcomm.ftcrobotcontroller.R.attr.layout, com.qualcomm.ftcrobotcontroller.R.attr.queryBackground, com.qualcomm.ftcrobotcontroller.R.attr.queryHint, com.qualcomm.ftcrobotcontroller.R.attr.searchHintIcon, com.qualcomm.ftcrobotcontroller.R.attr.searchIcon, com.qualcomm.ftcrobotcontroller.R.attr.submitBackground, com.qualcomm.ftcrobotcontroller.R.attr.suggestionRowLayout, com.qualcomm.ftcrobotcontroller.R.attr.voiceIcon}; + public static int[] Spinner = {android.R.attr.entries, android.R.attr.popupBackground, android.R.attr.prompt, android.R.attr.dropDownWidth, com.qualcomm.ftcrobotcontroller.R.attr.popupTheme}; + public static int[] StateListDrawable = {android.R.attr.dither, android.R.attr.visible, android.R.attr.variablePadding, android.R.attr.constantSize, android.R.attr.enterFadeDuration, android.R.attr.exitFadeDuration}; + public static int[] StateListDrawableItem = {android.R.attr.drawable}; + public static int[] SwitchCompat = {android.R.attr.textOn, android.R.attr.textOff, android.R.attr.thumb, com.qualcomm.ftcrobotcontroller.R.attr.showText, com.qualcomm.ftcrobotcontroller.R.attr.splitTrack, com.qualcomm.ftcrobotcontroller.R.attr.switchMinWidth, com.qualcomm.ftcrobotcontroller.R.attr.switchPadding, com.qualcomm.ftcrobotcontroller.R.attr.switchTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.thumbTextPadding, com.qualcomm.ftcrobotcontroller.R.attr.thumbTint, com.qualcomm.ftcrobotcontroller.R.attr.thumbTintMode, com.qualcomm.ftcrobotcontroller.R.attr.track, com.qualcomm.ftcrobotcontroller.R.attr.trackTint, com.qualcomm.ftcrobotcontroller.R.attr.trackTintMode}; + public static int[] TextAppearance = {android.R.attr.textSize, android.R.attr.typeface, android.R.attr.textStyle, android.R.attr.textColor, android.R.attr.textColorHint, android.R.attr.textColorLink, android.R.attr.shadowColor, android.R.attr.shadowDx, android.R.attr.shadowDy, android.R.attr.shadowRadius, android.R.attr.fontFamily, android.R.attr.textFontWeight, com.qualcomm.ftcrobotcontroller.R.attr.fontFamily, com.qualcomm.ftcrobotcontroller.R.attr.fontVariationSettings, com.qualcomm.ftcrobotcontroller.R.attr.textAllCaps, com.qualcomm.ftcrobotcontroller.R.attr.textLocale}; + public static int[] Toolbar = {android.R.attr.gravity, android.R.attr.minHeight, com.qualcomm.ftcrobotcontroller.R.attr.buttonGravity, com.qualcomm.ftcrobotcontroller.R.attr.collapseContentDescription, com.qualcomm.ftcrobotcontroller.R.attr.collapseIcon, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEnd, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetEndWithActions, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetLeft, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetRight, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStart, com.qualcomm.ftcrobotcontroller.R.attr.contentInsetStartWithNavigation, com.qualcomm.ftcrobotcontroller.R.attr.logo, com.qualcomm.ftcrobotcontroller.R.attr.logoDescription, com.qualcomm.ftcrobotcontroller.R.attr.maxButtonHeight, com.qualcomm.ftcrobotcontroller.R.attr.menu, com.qualcomm.ftcrobotcontroller.R.attr.navigationContentDescription, com.qualcomm.ftcrobotcontroller.R.attr.navigationIcon, com.qualcomm.ftcrobotcontroller.R.attr.popupTheme, com.qualcomm.ftcrobotcontroller.R.attr.subtitle, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.subtitleTextColor, com.qualcomm.ftcrobotcontroller.R.attr.title, com.qualcomm.ftcrobotcontroller.R.attr.titleMargin, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginBottom, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginEnd, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginStart, com.qualcomm.ftcrobotcontroller.R.attr.titleMarginTop, com.qualcomm.ftcrobotcontroller.R.attr.titleMargins, com.qualcomm.ftcrobotcontroller.R.attr.titleTextAppearance, com.qualcomm.ftcrobotcontroller.R.attr.titleTextColor}; + public static int[] View = {android.R.attr.theme, android.R.attr.focusable, com.qualcomm.ftcrobotcontroller.R.attr.paddingEnd, com.qualcomm.ftcrobotcontroller.R.attr.paddingStart, com.qualcomm.ftcrobotcontroller.R.attr.theme}; + public static int[] ViewBackgroundHelper = {android.R.attr.background, com.qualcomm.ftcrobotcontroller.R.attr.backgroundTint, com.qualcomm.ftcrobotcontroller.R.attr.backgroundTintMode}; + public static int[] ViewStubCompat = {android.R.attr.id, android.R.attr.layout, android.R.attr.inflatedId}; + public static int[] zxing_camera_preview = {com.qualcomm.ftcrobotcontroller.R.attr.zxing_framing_rect_height, com.qualcomm.ftcrobotcontroller.R.attr.zxing_framing_rect_width, com.qualcomm.ftcrobotcontroller.R.attr.zxing_preview_scaling_strategy, com.qualcomm.ftcrobotcontroller.R.attr.zxing_use_texture_view}; + public static int[] zxing_finder = {com.qualcomm.ftcrobotcontroller.R.attr.zxing_possible_result_points, com.qualcomm.ftcrobotcontroller.R.attr.zxing_result_view, com.qualcomm.ftcrobotcontroller.R.attr.zxing_viewfinder_laser, com.qualcomm.ftcrobotcontroller.R.attr.zxing_viewfinder_laser_visibility, com.qualcomm.ftcrobotcontroller.R.attr.zxing_viewfinder_mask}; + public static int[] zxing_view = {com.qualcomm.ftcrobotcontroller.R.attr.zxing_scanner_layout}; + + private styleable() { + } + } + + public static final class xml { + public static int advanced_rc_settings = 0x7f110000; + public static int app_settings = 0x7f110001; + public static int builtinwebcamcalibrations = 0x7f110002; + public static int file_provider_paths = 0x7f110004; + public static int ftc_about_activity = 0x7f110005; + public static int ftc_about_activity_rc = 0x7f110006; + public static int k9legacybot = 0x7f110007; + public static int k9usbbot = 0x7f110008; + public static int maxmodules = 0x7f110009; + public static int pushbot = 0x7f11000a; + public static int pushbotsens = 0x7f11000b; + public static int rev_scoot = 0x7f11000c; + public static int squarebot = 0x7f11000d; + public static int teamwebcamcalibrations = 0x7f11000e; + + private xml() { + } + } + + private R() { + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationAccess.java new file mode 100644 index 000000000000..4acc5059e81f --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationAccess.java @@ -0,0 +1,222 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.Acceleration; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class AccelerationAccess extends Access { + AccelerationAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Acceleration"); + } + + private Acceleration checkAcceleration(Object accelerationArg) { + return (Acceleration) checkArg(accelerationArg, Acceleration.class, "acceleration"); + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, fieldName = {"unit"}) + public String getDistanceUnit(Object accelerationArg) { + DistanceUnit distanceUnit; + try { + startBlockExecution(BlockType.GETTER, ".DistanceUnit"); + Acceleration acceleration = checkAcceleration(accelerationArg); + if (acceleration != null && (distanceUnit = acceleration.unit) != null) { + return distanceUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, fieldName = {"xAccel"}) + public double getXAccel(Object accelerationArg) { + try { + startBlockExecution(BlockType.GETTER, ".XAccel"); + Acceleration acceleration = checkAcceleration(accelerationArg); + if (acceleration != null) { + return acceleration.xAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, fieldName = {"yAccel"}) + public double getYAccel(Object accelerationArg) { + try { + startBlockExecution(BlockType.GETTER, ".YAccel"); + Acceleration acceleration = checkAcceleration(accelerationArg); + if (acceleration != null) { + return acceleration.yAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, fieldName = {"zAccel"}) + public double getZAccel(Object accelerationArg) { + try { + startBlockExecution(BlockType.GETTER, ".ZAccel"); + Acceleration acceleration = checkAcceleration(accelerationArg); + if (acceleration != null) { + return acceleration.zAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object accelerationArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + Acceleration acceleration = checkAcceleration(accelerationArg); + if (acceleration != null) { + return acceleration.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, constructor = true) + public Acceleration create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Acceleration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, constructor = true) + public Acceleration create_withArgs(String distanceUnitString, double xAccel, double yAccel, double zAccel, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + } catch (Throwable th) { + e = th; + } + try { + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + if (distanceUnit != null) { + return new Acceleration(distanceUnit, xAccel, yAccel, zAccel, acquisitionTime); + } + endBlockExecution(); + return null; + } catch (Throwable th2) { + e = th2; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, methodName = {"fromGravity"}) + public Acceleration fromGravity(double gx, double gy, double gz, long acquisitionTime) { + try { + startBlockExecution(BlockType.FUNCTION, ".fromGravity"); + return Acceleration.fromGravity(gx, gy, gz, acquisitionTime); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, methodName = {"toUnit"}) + public Acceleration toDistanceUnit(Object accelerationArg, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toDistanceUnit"); + Acceleration acceleration = checkAcceleration(accelerationArg); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + if (acceleration != null && distanceUnit != null) { + return acceleration.toUnit(distanceUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Acceleration.class}, methodName = {"toString"}) + public String toText(Object accelerationArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Acceleration acceleration = checkAcceleration(accelerationArg); + if (acceleration != null) { + return acceleration.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationSensorAccess.java new file mode 100644 index 000000000000..40ffe5cbeb6e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AccelerationSensorAccess.java @@ -0,0 +1,113 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.AccelerationSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.external.navigation.Acceleration; + +/* JADX INFO: loaded from: classes8.dex */ +class AccelerationSensorAccess extends HardwareAccess { + private final AccelerationSensor accelerationSensor; + + AccelerationSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, AccelerationSensor.class); + this.accelerationSensor = (AccelerationSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public double getXAccel() { + try { + startBlockExecution(BlockType.GETTER, ".XAccel"); + Acceleration acceleration = this.accelerationSensor.getAcceleration(); + if (acceleration != null) { + return acceleration.xAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public double getYAccel() { + try { + startBlockExecution(BlockType.GETTER, ".YAccel"); + Acceleration acceleration = this.accelerationSensor.getAcceleration(); + if (acceleration != null) { + return acceleration.yAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public double getZAccel() { + try { + startBlockExecution(BlockType.GETTER, ".ZAccel"); + Acceleration acceleration = this.accelerationSensor.getAcceleration(); + if (acceleration != null) { + return acceleration.zAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AccelerationSensor.class}, methodName = {"getAcceleration"}) + public Acceleration getAcceleration() { + try { + startBlockExecution(BlockType.GETTER, ".Acceleration"); + return this.accelerationSensor.getAcceleration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String toText() { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + return this.accelerationSensor.getAcceleration().toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Access.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Access.java new file mode 100644 index 000000000000..925cd088a53e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Access.java @@ -0,0 +1,211 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import com.qualcomm.hardware.bosch.BNO055IMU; +import com.qualcomm.hardware.rev.RevBlinkinLedDriver; +import com.qualcomm.robotcore.util.RobotLog; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.OpenGLMatrix; +import org.firstinspires.ftc.robotcore.external.matrices.VectorF; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Pose2D; +import org.firstinspires.ftc.robotcore.external.navigation.Position; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; +import org.firstinspires.ftc.robotcore.external.navigation.UnnormalizedAngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; +import org.firstinspires.ftc.vision.opencv.ImageRegion; + +/* JADX INFO: loaded from: classes8.dex */ +public abstract class Access { + protected static final String DEFAULT_CAMERA_MONTIOR_FEEDBACK_STRING = "DEFAULT"; + protected final String blockFirstName; + protected final BlocksOpMode blocksOpMode; + private final String identifier; + private final Set warningsReported = new HashSet(); + + protected Access(BlocksOpMode blocksOpMode, String identifier, String blockFirstName) { + this.blocksOpMode = blocksOpMode; + this.identifier = identifier; + this.blockFirstName = blockFirstName; + } + + void close() { + } + + protected final void startBlockExecution(BlockType blockType, String blockLastName) { + this.blocksOpMode.startBlockExecution(blockType, this.blockFirstName, blockLastName); + } + + protected final void startBlockExecution(BlockType blockType, String blockFirstNameOverride, String blockLastName) { + this.blocksOpMode.startBlockExecution(blockType, blockFirstNameOverride, blockLastName); + } + + protected final void endBlockExecution() { + this.blocksOpMode.endBlockExecution(); + } + + protected final void handleObsoleteBlockExecution(BlockType blockType, String blockLastName) { + startBlockExecution(blockType, blockLastName); + reportWarning("This block is obsolete."); + } + + protected final void handleObsoleteBlockExecution(BlockType blockType, String blockFirstNameOverride, String blockLastName) { + startBlockExecution(blockType, blockFirstNameOverride, blockLastName); + reportWarning("This block is obsolete."); + } + + protected AngleUnit checkAngleUnit(String angleUnitString) { + return (AngleUnit) checkArg(angleUnitString, AngleUnit.class, "angleUnit"); + } + + protected AxesOrder checkAxesOrder(String axesOrderString) { + return (AxesOrder) checkArg(axesOrderString, AxesOrder.class, "axesOrder"); + } + + protected AxesReference checkAxesReference(String axesReferenceString) { + return (AxesReference) checkArg(axesReferenceString, AxesReference.class, "axesReference"); + } + + protected DistanceUnit checkDistanceUnit(String distanceUnitString) { + return (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + } + + protected RevBlinkinLedDriver.BlinkinPattern checkBlinkinPattern(String blinkinPatternString) { + return (RevBlinkinLedDriver.BlinkinPattern) checkArg(blinkinPatternString, RevBlinkinLedDriver.BlinkinPattern.class, "blinkinPattern"); + } + + protected BNO055IMU.Parameters checkBNO055IMUParameters(Object parametersArg) { + return (BNO055IMU.Parameters) checkArg(parametersArg, BNO055IMU.Parameters.class, "parameters"); + } + + protected ImageRegion checkImageRegion(Object imageRegionArg) { + return (ImageRegion) checkArg(imageRegionArg, ImageRegion.class, "roi"); + } + + protected Orientation checkOrientation(Object orientationArg) { + return (Orientation) checkArg(orientationArg, Orientation.class, "orientation"); + } + + protected Orientation checkOrientation(Object orientationArg, String socketName) { + return (Orientation) checkArg(orientationArg, Orientation.class, socketName); + } + + protected Pose2D checkPose2D(Object pose2DArg) { + return (Pose2D) checkArg(pose2DArg, Pose2D.class, "pose2D"); + } + + protected Pose2D checkPose2D(Object pose2DArg, String socketName) { + return (Pose2D) checkArg(pose2DArg, Pose2D.class, socketName); + } + + protected Position checkPosition(Object positionArg) { + return (Position) checkArg(positionArg, Position.class, "position"); + } + + protected Quaternion checkQuaternion(Object quaternionArg) { + return (Quaternion) checkArg(quaternionArg, Quaternion.class, "quaternion"); + } + + protected Quaternion checkQuaternion(Object quaternionArg, String socketName) { + return (Quaternion) checkArg(quaternionArg, Quaternion.class, socketName); + } + + protected MatrixF checkMatrixF(Object matrixArg) { + return (MatrixF) checkArg(matrixArg, MatrixF.class, "matrix"); + } + + protected OpenGLMatrix checkOpenGLMatrix(Object matrixArg) { + return (OpenGLMatrix) checkArg(matrixArg, OpenGLMatrix.class, "matrix"); + } + + protected UnnormalizedAngleUnit checkUnnormalizedAngleUnit(String unnormalizedAngleUnitString) { + return (UnnormalizedAngleUnit) checkArg(unnormalizedAngleUnitString, UnnormalizedAngleUnit.class, "unnormalizedAngleUnit"); + } + + protected VectorF checkVectorF(Object vectorArg) { + return (VectorF) checkArg(vectorArg, VectorF.class, "vector"); + } + + protected YawPitchRollAngles checkYawPitchRollAngles(Object yawPitchRollAnglesArg) { + return (YawPitchRollAngles) checkArg(yawPitchRollAnglesArg, YawPitchRollAngles.class, "yawPitchRollAngles"); + } + + protected final T checkArg(Object arg, Class clazz, String socketName) { + if (!clazz.isInstance(arg)) { + reportInvalidArg(socketName, getTypeFromClass(clazz)); + return null; + } + return clazz.cast(arg); + } + + protected final > T checkArg(String str, Class cls, String str2) { + if (str == null) { + reportInvalidArg(str2, cls.getSimpleName()); + return null; + } + try { + return (T) Enum.valueOf(cls, str); + } catch (IllegalArgumentException e) { + try { + return (T) Enum.valueOf(cls, str.toUpperCase(Locale.ENGLISH)); + } catch (IllegalArgumentException e2) { + reportInvalidArg(str2, cls.getSimpleName()); + return null; + } + } + } + + protected final void reportInvalidArg(String socketName, String expectedType) { + if (socketName != null && !socketName.isEmpty()) { + reportWarning("Incorrect block plugged into the %s socket of the block labeled \"%s\". Expected %s.", socketName, this.blocksOpMode.getFullBlockLabel(), expectedType); + } else { + reportWarning("Incorrect block plugged into a socket of the block labeled \"%s\". Expected %s.", this.blocksOpMode.getFullBlockLabel(), expectedType); + } + } + + protected final void reportWarning(String message) { + reportWarning("Warning while (or after) executing the block labeled \"%s\". %s", this.blocksOpMode.getFullBlockLabel(), message); + } + + protected final void reportHardwareError(String message) { + reportWarning("Error while initializing hardware items. %s", this.blocksOpMode.getFullBlockLabel(), message); + } + + private final void reportWarning(String format, Object... args) { + String message = String.format(format, args); + RobotLog.ww("Blocks", message); + if (this.warningsReported.add(message)) { + RobotLog.addGlobalWarningMessage(message); + } + } + + protected static final String getTypeFromClass(Class clazz) { + String type = clazz.getSimpleName(); + while (clazz.getEnclosingClass() != null) { + clazz = clazz.getEnclosingClass(); + type = clazz.getSimpleName() + "." + type; + } + return type; + } + + protected static String toJson(Object o) { + if (o == null) { + return "null"; + } + return SimpleGson.getInstance().toJson(o); + } + + protected static T fromJson(String str, Class cls) { + if (str == null || str.equals("null") || str.equals("undefined")) { + return null; + } + return (T) SimpleGson.getInstance().fromJson(str, (Class) cls); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AnalogInputAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AnalogInputAccess.java new file mode 100644 index 000000000000..83c5b1ba5abe --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AnalogInputAccess.java @@ -0,0 +1,48 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.AnalogInput; +import com.qualcomm.robotcore.hardware.HardwareMap; + +/* JADX INFO: loaded from: classes8.dex */ +class AnalogInputAccess extends HardwareAccess { + private final AnalogInput analogInput; + + AnalogInputAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, AnalogInput.class); + this.analogInput = (AnalogInput) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {AnalogInput.class}, methodName = {"getVoltage"}) + public double getVoltage() { + try { + startBlockExecution(BlockType.GETTER, ".Voltage"); + return this.analogInput.getVoltage(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AnalogInput.class}, methodName = {"getMaxVoltage"}) + public double getMaxVoltage() { + try { + startBlockExecution(BlockType.GETTER, ".MaxVoltage"); + return this.analogInput.getMaxVoltage(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidAccelerometerAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidAccelerometerAccess.java new file mode 100644 index 000000000000..f4e159a9819e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidAccelerometerAccess.java @@ -0,0 +1,159 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.android.AndroidAccelerometer; +import org.firstinspires.ftc.robotcore.external.navigation.Acceleration; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class AndroidAccelerometerAccess extends Access { + private final AndroidAccelerometer androidAccelerometer; + + AndroidAccelerometerAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AndroidAccelerometer"); + this.androidAccelerometer = new AndroidAccelerometer(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.Access + void close() { + this.androidAccelerometer.stopListening(); + } + + @JavascriptInterface + public void setDistanceUnit(String distanceUnitString) { + try { + startBlockExecution(BlockType.SETTER, ".DistanceUnit"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, ""); + if (distanceUnit != null) { + this.androidAccelerometer.setDistanceUnit(distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getX() { + try { + startBlockExecution(BlockType.GETTER, ".X"); + return this.androidAccelerometer.getX(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getY() { + try { + startBlockExecution(BlockType.GETTER, ".Y"); + return this.androidAccelerometer.getY(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getZ() { + try { + startBlockExecution(BlockType.GETTER, ".Z"); + return this.androidAccelerometer.getZ(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public Acceleration getAcceleration() { + try { + startBlockExecution(BlockType.GETTER, ".Acceleration"); + return this.androidAccelerometer.getAcceleration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public String getDistanceUnit() { + try { + startBlockExecution(BlockType.GETTER, ".DistanceUnit"); + return this.androidAccelerometer.getDistanceUnit().toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public boolean isAvailable() { + try { + startBlockExecution(BlockType.FUNCTION, ".isAvailable"); + return this.androidAccelerometer.isAvailable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void startListening() { + try { + startBlockExecution(BlockType.FUNCTION, ".startListening"); + this.androidAccelerometer.startListening(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void stopListening() { + try { + startBlockExecution(BlockType.FUNCTION, ".stopListening"); + this.androidAccelerometer.stopListening(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidGyroscopeAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidGyroscopeAccess.java new file mode 100644 index 000000000000..de1f22772934 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidGyroscopeAccess.java @@ -0,0 +1,159 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.android.AndroidGyroscope; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity; + +/* JADX INFO: loaded from: classes8.dex */ +class AndroidGyroscopeAccess extends Access { + private final AndroidGyroscope androidGyroscope; + + AndroidGyroscopeAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AndroidGyroscope"); + this.androidGyroscope = new AndroidGyroscope(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.Access + void close() { + this.androidGyroscope.stopListening(); + } + + @JavascriptInterface + public void setAngleUnit(String angleUnitString) { + try { + startBlockExecution(BlockType.SETTER, ".AngleUnit"); + AngleUnit angleUnit = (AngleUnit) checkArg(angleUnitString, AngleUnit.class, ""); + if (angleUnit != null) { + this.androidGyroscope.setAngleUnit(angleUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getX() { + try { + startBlockExecution(BlockType.GETTER, ".X"); + return this.androidGyroscope.getX(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getY() { + try { + startBlockExecution(BlockType.GETTER, ".Y"); + return this.androidGyroscope.getY(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getZ() { + try { + startBlockExecution(BlockType.GETTER, ".Z"); + return this.androidGyroscope.getZ(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public AngularVelocity getAngularVelocity() { + try { + startBlockExecution(BlockType.GETTER, ".AngularVelocity"); + return this.androidGyroscope.getAngularVelocity(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public String getAngleUnit() { + try { + startBlockExecution(BlockType.GETTER, ".AngleUnit"); + return this.androidGyroscope.getAngleUnit().toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public boolean isAvailable() { + try { + startBlockExecution(BlockType.FUNCTION, ".isAvailable"); + return this.androidGyroscope.isAvailable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void startListening() { + try { + startBlockExecution(BlockType.FUNCTION, ".startListening"); + this.androidGyroscope.startListening(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void stopListening() { + try { + startBlockExecution(BlockType.FUNCTION, ".stopListening"); + this.androidGyroscope.stopListening(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidOrientationAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidOrientationAccess.java new file mode 100644 index 000000000000..f76cfebbfb31 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidOrientationAccess.java @@ -0,0 +1,173 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.android.AndroidOrientation; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class AndroidOrientationAccess extends Access { + private final AndroidOrientation androidOrientation; + + AndroidOrientationAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AndroidOrientation"); + this.androidOrientation = new AndroidOrientation(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.Access + void close() { + this.androidOrientation.stopListening(); + } + + @JavascriptInterface + public void setAngleUnit(String angleUnitString) { + try { + startBlockExecution(BlockType.SETTER, ".AngleUnit"); + AngleUnit angleUnit = (AngleUnit) checkArg(angleUnitString, AngleUnit.class, ""); + if (angleUnit != null) { + this.androidOrientation.setAngleUnit(angleUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getAzimuth() { + try { + startBlockExecution(BlockType.GETTER, ".Azimuth"); + return this.androidOrientation.getAzimuth(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getPitch() { + try { + startBlockExecution(BlockType.GETTER, ".Pitch"); + return this.androidOrientation.getPitch(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getRoll() { + try { + startBlockExecution(BlockType.GETTER, ".Roll"); + return this.androidOrientation.getRoll(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getAngle() { + try { + startBlockExecution(BlockType.GETTER, ".Angle"); + return this.androidOrientation.getAngle(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getMagnitude() { + try { + startBlockExecution(BlockType.GETTER, ".Magnitude"); + return this.androidOrientation.getMagnitude(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public String getAngleUnit() { + try { + startBlockExecution(BlockType.GETTER, ".AngleUnit"); + return this.androidOrientation.getAngleUnit().toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public boolean isAvailable() { + try { + startBlockExecution(BlockType.FUNCTION, ".isAvailable"); + return this.androidOrientation.isAvailable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void startListening() { + try { + startBlockExecution(BlockType.FUNCTION, ".startListening"); + this.androidOrientation.startListening(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void stopListening() { + try { + startBlockExecution(BlockType.FUNCTION, ".stopListening"); + this.androidOrientation.stopListening(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidSoundPoolAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidSoundPoolAccess.java new file mode 100644 index 000000000000..13b8639c23af --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidSoundPoolAccess.java @@ -0,0 +1,187 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.ftccommon.SoundPlayer; +import org.firstinspires.ftc.robotcore.external.android.AndroidSoundPool; + +/* JADX INFO: loaded from: classes8.dex */ +class AndroidSoundPoolAccess extends Access { + private final AndroidSoundPool androidSoundPool; + + AndroidSoundPoolAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AndroidSoundPool"); + this.androidSoundPool = new AndroidSoundPool(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.Access + void close() { + this.androidSoundPool.close(); + } + + @JavascriptInterface + public void initialize() { + try { + startBlockExecution(BlockType.FUNCTION, ".initialize"); + this.androidSoundPool.initialize(SoundPlayer.getInstance()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public boolean preloadSound(String soundName) { + try { + startBlockExecution(BlockType.FUNCTION, ".preloadSound"); + try { + if (!this.androidSoundPool.preloadSound(soundName)) { + reportWarning("Failed to preload " + soundName); + } else { + endBlockExecution(); + return true; + } + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + endBlockExecution(); + return false; + } finally { + } + } + + @JavascriptInterface + public void play(String soundName) { + try { + startBlockExecution(BlockType.FUNCTION, ".play"); + try { + if (!this.androidSoundPool.play(soundName)) { + reportWarning("Failed to load " + soundName); + } + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + } finally { + } + } + + @JavascriptInterface + public void stop() { + try { + startBlockExecution(BlockType.FUNCTION, ".stop"); + this.androidSoundPool.stop(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getVolume() { + try { + startBlockExecution(BlockType.GETTER, ".Volume"); + return this.androidSoundPool.getVolume(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void setVolume(float volume) { + try { + startBlockExecution(BlockType.SETTER, ".Volume"); + if (volume >= 0.0f && volume <= 1.0f) { + this.androidSoundPool.setVolume(volume); + } else { + reportInvalidArg("", "a number between 0.0 and 1.0"); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getRate() { + try { + startBlockExecution(BlockType.GETTER, ".Rate"); + return this.androidSoundPool.getRate(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void setRate(float rate) { + try { + startBlockExecution(BlockType.SETTER, ".Rate"); + if (rate >= 0.5f && rate <= 2.0f) { + this.androidSoundPool.setRate(rate); + } else { + reportInvalidArg("", "a number between 0.5 and 2.0"); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public int getLoop() { + try { + startBlockExecution(BlockType.GETTER, ".Loop"); + return this.androidSoundPool.getLoop(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void setLoop(int loop) { + try { + startBlockExecution(BlockType.SETTER, ".Loop"); + if (loop >= -1) { + this.androidSoundPool.setLoop(loop); + } else { + reportInvalidArg("", "a number greater than or equal to -1"); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidTextToSpeechAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidTextToSpeechAccess.java new file mode 100644 index 000000000000..e2d832341708 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndroidTextToSpeechAccess.java @@ -0,0 +1,187 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.android.AndroidTextToSpeech; + +/* JADX INFO: loaded from: classes8.dex */ +class AndroidTextToSpeechAccess extends Access { + private final AndroidTextToSpeech androidTextToSpeech; + + AndroidTextToSpeechAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AndroidTextToSpeech"); + this.androidTextToSpeech = new AndroidTextToSpeech(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.Access + void close() { + this.androidTextToSpeech.close(); + } + + @JavascriptInterface + public void initialize() { + try { + startBlockExecution(BlockType.FUNCTION, ".initialize"); + this.androidTextToSpeech.initialize(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public String getStatus() { + try { + startBlockExecution(BlockType.GETTER, ".Status"); + return this.androidTextToSpeech.getStatus(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public String getLanguageCode() { + try { + startBlockExecution(BlockType.GETTER, ".LanguageCode"); + try { + return this.androidTextToSpeech.getLanguageCode(); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + return ""; + } + } finally { + } + } + + @JavascriptInterface + public String getCountryCode() { + try { + startBlockExecution(BlockType.GETTER, ".CountryCode"); + try { + return this.androidTextToSpeech.getCountryCode(); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + return ""; + } + } finally { + } + } + + @JavascriptInterface + public boolean getIsSpeaking() { + try { + startBlockExecution(BlockType.GETTER, ".IsSpeaking"); + try { + return this.androidTextToSpeech.isSpeaking(); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + endBlockExecution(); + return false; + } + } finally { + } + } + + @JavascriptInterface + public void setPitch(float pitch) { + try { + startBlockExecution(BlockType.SETTER, ".Pitch"); + try { + this.androidTextToSpeech.setPitch(pitch); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + } finally { + } + } + + @JavascriptInterface + public void setSpeechRate(float speechRate) { + try { + startBlockExecution(BlockType.SETTER, ".SpeechRate"); + try { + this.androidTextToSpeech.setSpeechRate(speechRate); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + } finally { + } + } + + @JavascriptInterface + public boolean isLanguageAvailable(String languageCode) { + try { + startBlockExecution(BlockType.FUNCTION, ".isLanguageAvailable"); + try { + return this.androidTextToSpeech.isLanguageAvailable(languageCode); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + endBlockExecution(); + return false; + } + } finally { + } + } + + @JavascriptInterface + public boolean isLanguageAndCountryAvailable(String languageCode, String countryCode) { + try { + startBlockExecution(BlockType.FUNCTION, ".isLanguageAndCountryAvailable"); + try { + return this.androidTextToSpeech.isLanguageAndCountryAvailable(languageCode, countryCode); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + endBlockExecution(); + return false; + } + } finally { + } + } + + @JavascriptInterface + public void setLanguage(String languageCode) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLanguage"); + try { + this.androidTextToSpeech.setLanguage(languageCode); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + } finally { + } + } + + @JavascriptInterface + public void setLanguageAndCountry(String languageCode, String countryCode) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLanguageAndCountry"); + try { + this.androidTextToSpeech.setLanguageAndCountry(languageCode, countryCode); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + } finally { + } + } + + @JavascriptInterface + public void speak(String text) { + try { + startBlockExecution(BlockType.FUNCTION, ".speak"); + try { + this.androidTextToSpeech.speak(text); + } catch (IllegalStateException e) { + reportWarning(e.getMessage()); + } + } finally { + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkColorSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkColorSensorAccess.java new file mode 100644 index 000000000000..4ad98eaafe37 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkColorSensorAccess.java @@ -0,0 +1,302 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.andymark.AndyMarkColorSensor; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.NormalizedRGBA; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class AndyMarkColorSensorAccess extends HardwareAccess { + private final AndyMarkColorSensor andyMarkColorSensor; + + AndyMarkColorSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, AndyMarkColorSensor.class); + this.andyMarkColorSensor = (AndyMarkColorSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"alpha"}) + public int getAlpha() { + try { + startBlockExecution(BlockType.GETTER, ".Alpha"); + return this.andyMarkColorSensor.alpha(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"argb"}) + public int getArgb() { + try { + startBlockExecution(BlockType.GETTER, ".Argb"); + return this.andyMarkColorSensor.argb(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"red"}) + public int getRed() { + try { + startBlockExecution(BlockType.GETTER, ".Red"); + return this.andyMarkColorSensor.red(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"green"}) + public int getGreen() { + try { + startBlockExecution(BlockType.GETTER, ".Green"); + return this.andyMarkColorSensor.green(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"blue"}) + public int getBlue() { + try { + startBlockExecution(BlockType.GETTER, ".Blue"); + return this.andyMarkColorSensor.blue(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"getLightDetected"}) + public double getLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".LightDetected"); + return this.andyMarkColorSensor.getLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.andyMarkColorSensor.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.andyMarkColorSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.andyMarkColorSensor.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.andyMarkColorSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"getDistance"}) + public double getDistance(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistance"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "unit"); + if (distanceUnit != null) { + return this.andyMarkColorSensor.getDistance(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"getNormalizedColors"}) + public String getNormalizedColors() { + try { + startBlockExecution(BlockType.FUNCTION, ".getNormalizedColors"); + NormalizedRGBA color = this.andyMarkColorSensor.getNormalizedColors(); + return "{ \"Red\":" + color.red + ", \"Green\":" + color.green + ", \"Blue\":" + color.blue + ", \"Alpha\":" + color.alpha + ", \"Color\":" + color.toColor() + " }"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"setProximityGain"}) + public void setProximityGain(String gainString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setProximityGain"); + AndyMarkColorSensor.ProximityGain gain = (AndyMarkColorSensor.ProximityGain) checkArg(gainString, AndyMarkColorSensor.ProximityGain.class, "gain"); + if (gain != null) { + this.andyMarkColorSensor.setProximityGain(gain); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"setProximityLedPulses"}) + public void setProximityLedPulses(int pulses) { + try { + startBlockExecution(BlockType.FUNCTION, ".setProximityLedPulses"); + this.andyMarkColorSensor.setProximityLedPulses(pulses); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"setProximityLedPulseLength"}) + public void setProximityLedPulseLength(String pulseLengthString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setProximityLedPulseLength"); + AndyMarkColorSensor.ProximityPulseLength pulseLength = (AndyMarkColorSensor.ProximityPulseLength) checkArg(pulseLengthString, AndyMarkColorSensor.ProximityPulseLength.class, "pulseLength"); + if (pulseLength != null) { + this.andyMarkColorSensor.setProximityLedPulseLength(pulseLength); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkColorSensor.class}, methodName = {"configureProximitySettings"}) + public void configureProximitySettings(String gainString, int pulses, String pulseLengthString) { + try { + startBlockExecution(BlockType.FUNCTION, ".configureProximitySettings"); + AndyMarkColorSensor.ProximityGain gain = (AndyMarkColorSensor.ProximityGain) checkArg(gainString, AndyMarkColorSensor.ProximityGain.class, "gain"); + AndyMarkColorSensor.ProximityPulseLength pulseLength = (AndyMarkColorSensor.ProximityPulseLength) checkArg(pulseLengthString, AndyMarkColorSensor.ProximityPulseLength.class, "pulseLength"); + if (gain != null && pulseLength != null) { + this.andyMarkColorSensor.configureProximitySettings(gain, pulses, pulseLength); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkIMUOrientationOnRobotAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkIMUOrientationOnRobotAccess.java new file mode 100644 index 000000000000..419a2711b0dc --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AndyMarkIMUOrientationOnRobotAccess.java @@ -0,0 +1,109 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.andymark.AndyMarkIMUOrientationOnRobot; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; + +/* JADX INFO: loaded from: classes8.dex */ +class AndyMarkIMUOrientationOnRobotAccess extends Access { + AndyMarkIMUOrientationOnRobotAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AndyMarkIMUOrientationOnRobot"); + } + + @JavascriptInterface + @Block(classes = {AndyMarkIMUOrientationOnRobot.class}, constructor = true) + public AndyMarkIMUOrientationOnRobot create1(String logoFacingDirectionString, String i2cPortFacingDirectionString) { + try { + startBlockExecution(BlockType.CREATE, ""); + AndyMarkIMUOrientationOnRobot.LogoFacingDirection logoFacingDirection = (AndyMarkIMUOrientationOnRobot.LogoFacingDirection) checkArg(logoFacingDirectionString, AndyMarkIMUOrientationOnRobot.LogoFacingDirection.class, "logoFacingDirection"); + AndyMarkIMUOrientationOnRobot.I2cPortFacingDirection i2cPortFacingDirection = (AndyMarkIMUOrientationOnRobot.I2cPortFacingDirection) checkArg(i2cPortFacingDirectionString, AndyMarkIMUOrientationOnRobot.I2cPortFacingDirection.class, "i2cPortFacingDirection"); + if (logoFacingDirection != null && i2cPortFacingDirection != null) { + return new AndyMarkIMUOrientationOnRobot(logoFacingDirection, i2cPortFacingDirection); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkIMUOrientationOnRobot.class}, constructor = true) + public AndyMarkIMUOrientationOnRobot create2(Object orientationArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + Orientation orientation = checkOrientation(orientationArg, "rotation"); + if (orientation != null) { + return new AndyMarkIMUOrientationOnRobot(orientation); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkIMUOrientationOnRobot.class}, constructor = true) + public AndyMarkIMUOrientationOnRobot create3(Object quaternionArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + Quaternion quaternion = checkQuaternion(quaternionArg, "rotation"); + if (quaternion != null) { + return new AndyMarkIMUOrientationOnRobot(quaternion); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkIMUOrientationOnRobot.class}, methodName = {"zyxOrientation"}) + public Orientation zyxOrientation(double z, double y, double x) { + try { + startBlockExecution(BlockType.FUNCTION, ".zyxOrientation"); + return AndyMarkIMUOrientationOnRobot.zyxOrientation(z, y, x); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AndyMarkIMUOrientationOnRobot.class}, methodName = {"xyzOrientation"}) + public Orientation xyzOrientation(double x, double y, double z) { + try { + startBlockExecution(BlockType.FUNCTION, ".zyxOrientation"); + return AndyMarkIMUOrientationOnRobot.xyzOrientation(x, y, z); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AngularVelocityAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AngularVelocityAccess.java new file mode 100644 index 000000000000..6d37c2b48b10 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AngularVelocityAccess.java @@ -0,0 +1,234 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity; +import org.firstinspires.ftc.robotcore.external.navigation.Axis; +import org.firstinspires.ftc.robotcore.external.navigation.UnnormalizedAngleUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class AngularVelocityAccess extends Access { + AngularVelocityAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "AngularVelocity"); + } + + private AngularVelocity checkAngularVelocity(Object angularVelocityArg) { + return (AngularVelocity) checkArg(angularVelocityArg, AngularVelocity.class, "angularVelocity"); + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, fieldName = {"angleUnit"}) + public String getAngleUnit(Object angularVelocityArg) { + UnnormalizedAngleUnit angleUnit; + try { + startBlockExecution(BlockType.GETTER, ".AngleUnit"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + if (angularVelocity != null && (angleUnit = angularVelocity.angleUnit) != null) { + return angleUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, fieldName = {"xRotationRate"}) + public float getXRotationRate(Object angularVelocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".XRotationRate"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + if (angularVelocity != null) { + return angularVelocity.xRotationRate; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, fieldName = {"yRotationRate"}) + public float getYRotationRate(Object angularVelocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".YRotationRate"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + if (angularVelocity != null) { + return angularVelocity.yRotationRate; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, fieldName = {"zRotationRate"}) + public float getZRotationRate(Object angularVelocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".ZRotationRate"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + if (angularVelocity != null) { + return angularVelocity.zRotationRate; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object angularVelocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + if (angularVelocity != null) { + return angularVelocity.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, constructor = true) + public AngularVelocity create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new AngularVelocity(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, constructor = true) + public AngularVelocity create_withArgs(String angleUnitString, float xRotationRate, float yRotationRate, float zRotationRate, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return new AngularVelocity(angleUnit, xRotationRate, yRotationRate, zRotationRate, acquisitionTime); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, methodName = {"toAngleUnit"}) + public AngularVelocity toAngleUnit(Object angularVelocityArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toAngleUnit"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angularVelocity != null && angleUnit != null) { + return angularVelocity.toAngleUnit(angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, fieldName = {"xRotationRate", "yRotationRate", "zRotationRate"}) + public float getRotationRate(Object angularVelocityArg, String axisString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRotationRate"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + Axis axis = (Axis) checkArg(axisString, Axis.class, "axis"); + if (angularVelocity != null && axis != null) { + switch (axis) { + case X: + return angularVelocity.xRotationRate; + case Y: + return angularVelocity.yRotationRate; + case Z: + return angularVelocity.zRotationRate; + case UNKNOWN: + reportInvalidArg("axis", "Axis.X, Axis.Y, or Axis.Z"); + break; + } + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngularVelocity.class}, methodName = {"toString"}) + public String toText(Object angularVelocityArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + AngularVelocity angularVelocity = checkAngularVelocity(angularVelocityArg); + if (angularVelocity != null) { + return angularVelocity.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AprilTagAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AprilTagAccess.java new file mode 100644 index 000000000000..838baf6d498e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/AprilTagAccess.java @@ -0,0 +1,827 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.matrices.GeneralMatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.VectorF; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Pose3D; +import org.firstinspires.ftc.robotcore.external.navigation.Position; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; +import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; +import org.firstinspires.ftc.vision.apriltag.AprilTagGameDatabase; +import org.firstinspires.ftc.vision.apriltag.AprilTagLibrary; +import org.firstinspires.ftc.vision.apriltag.AprilTagMetadata; +import org.firstinspires.ftc.vision.apriltag.AprilTagPoseFtc; +import org.firstinspires.ftc.vision.apriltag.AprilTagPoseRaw; +import org.firstinspires.ftc.vision.apriltag.AprilTagProcessor; + +/* JADX INFO: loaded from: classes8.dex */ +class AprilTagAccess extends Access { + AprilTagAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, ""); + } + + private AprilTagProcessor.Builder checkAprilTagProcessorBuilder(Object aprilTagProcessorBuilderArg) { + return (AprilTagProcessor.Builder) checkArg(aprilTagProcessorBuilderArg, AprilTagProcessor.Builder.class, "aprilTagProcessorBuilder"); + } + + private AprilTagProcessor checkAprilTagProcessor(Object aprilTagProcessorArg) { + return (AprilTagProcessor) checkArg(aprilTagProcessorArg, AprilTagProcessor.class, "aprilTagProcessor"); + } + + private AprilTagLibrary.Builder checkAprilTagLibraryBuilder(Object aprilTagLibraryBuilderArg) { + return (AprilTagLibrary.Builder) checkArg(aprilTagLibraryBuilderArg, AprilTagLibrary.Builder.class, "aprilTagLibraryBuilder"); + } + + private AprilTagLibrary checkAprilTagLibrary(Object aprilTagLibraryArg) { + return (AprilTagLibrary) checkArg(aprilTagLibraryArg, AprilTagLibrary.class, "aprilTagLibrary"); + } + + private AprilTagProcessor.TagFamily checkTagFamily(String tagFamilyString) { + return (AprilTagProcessor.TagFamily) checkArg(tagFamilyString, AprilTagProcessor.TagFamily.class, "tagFamily"); + } + + private AprilTagProcessor.PoseSolver checkPoseSolver(String poseSolverString) { + return (AprilTagProcessor.PoseSolver) checkArg(poseSolverString, AprilTagProcessor.PoseSolver.class, "poseSolver"); + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, constructor = true) + public AprilTagProcessor.Builder createAprilTagProcessorBuilder() { + try { + startBlockExecution(BlockType.CREATE, "AprilTagProcessor.Builder", ""); + return new AprilTagProcessor.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setCameraPose"}) + public void setCameraPose(Object aprilTagProcessorBuilderArg, Object positionArg, Object yawPitchRollAnglesArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setCameraPose"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + Position position = checkPosition(positionArg); + YawPitchRollAngles yawPitchRollAngles = checkYawPitchRollAngles(yawPitchRollAnglesArg); + if (aprilTagProcessorBuilder != null && position != null && yawPitchRollAngles != null) { + aprilTagProcessorBuilder.setCameraPose(position, yawPitchRollAngles); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setLensIntrinsics"}) + public void setLensIntrinsics(Object aprilTagProcessorBuilderArg, double fx, double fy, double cx, double cy) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setLensIntrinsics"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setLensIntrinsics(fx, fy, cx, cy); + } + } finally { + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setSuppressCalibrationWarnings"}) + public void setSuppressCalibrationWarnings(Object aprilTagProcessorBuilderArg, boolean suppressCalibrationWarnings) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setSuppressCalibrationWarnings"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setSuppressCalibrationWarnings(suppressCalibrationWarnings); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setTagFamily"}) + public void setTagFamily(Object aprilTagProcessorBuilderArg, String tagFamilyString) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setTagFamily"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + AprilTagProcessor.TagFamily tagFamily = checkTagFamily(tagFamilyString); + if (aprilTagProcessorBuilder != null && tagFamily != null) { + aprilTagProcessorBuilder.setTagFamily(tagFamily); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setTagLibrary"}) + public void setTagLibrary(Object aprilTagProcessorBuilderArg, Object aprilTagLibraryArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setTagLibrary"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + AprilTagLibrary aprilTagLibrary = checkAprilTagLibrary(aprilTagLibraryArg); + if (aprilTagProcessorBuilder != null && aprilTagLibrary != null) { + aprilTagProcessorBuilder.setTagLibrary(aprilTagLibrary); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setOutputUnits"}) + public void setOutputUnits(Object aprilTagProcessorBuilderArg, String distanceUnitString, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setOutputUnits"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (aprilTagProcessorBuilder != null && distanceUnit != null && angleUnit != null) { + aprilTagProcessorBuilder.setOutputUnits(distanceUnit, angleUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setDrawAxes"}) + public void setDrawAxes(Object aprilTagProcessorBuilderArg, boolean drawAxes) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setDrawAxes"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setDrawAxes(drawAxes); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setDrawCubeProjection"}) + public void setDrawCubeProjection(Object aprilTagProcessorBuilderArg, boolean drawCube) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setDrawCubeProjection"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setDrawCubeProjection(drawCube); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setDrawTagOutline"}) + public void setDrawTagOutline(Object aprilTagProcessorBuilderArg, boolean drawOutline) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setDrawTagOutline"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setDrawTagOutline(drawOutline); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setDrawTagID"}) + public void setDrawTagID(Object aprilTagProcessorBuilderArg, boolean drawTagID) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setDrawTagID"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setDrawTagID(drawTagID); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"setNumThreads"}) + public void setNumThreads(Object aprilTagProcessorBuilderArg, int numThreads) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".setNumThreads"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + aprilTagProcessorBuilder.setNumThreads(numThreads); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.Builder.class}, methodName = {"build"}) + public AprilTagProcessor buildAprilTagProcessor(Object aprilTagProcessorBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor.Builder", ".build"); + AprilTagProcessor.Builder aprilTagProcessorBuilder = checkAprilTagProcessorBuilder(aprilTagProcessorBuilderArg); + if (aprilTagProcessorBuilder != null) { + return aprilTagProcessorBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.class}, methodName = {"easyCreateWithDefaults"}) + public AprilTagProcessor easyCreateWithDefaults() { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor", ".easyCreateWithDefaults"); + return AprilTagProcessor.easyCreateWithDefaults(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.class}, methodName = {"setDecimation"}) + public void setDecimation(Object aprilTagProcessorArg, float decimation) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor", ".setDecimation"); + AprilTagProcessor aprilTagProcessor = checkAprilTagProcessor(aprilTagProcessorArg); + if (aprilTagProcessor != null) { + aprilTagProcessor.setDecimation(decimation); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.class}, methodName = {"setPoseSolver"}) + public void setPoseSolver(Object aprilTagProcessorArg, String poseSolverString) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor", ".setPoseSolver"); + AprilTagProcessor aprilTagProcessor = checkAprilTagProcessor(aprilTagProcessorArg); + AprilTagProcessor.PoseSolver poseSolver = checkPoseSolver(poseSolverString); + if (aprilTagProcessor != null && poseSolver != null) { + aprilTagProcessor.setPoseSolver(poseSolver); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.class}, methodName = {"getPerTagAvgPoseSolveTime"}) + public int getPerTagAvgPoseSolveTime(Object aprilTagProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor", ".getPerTagAvgPoseSolveTime"); + AprilTagProcessor aprilTagProcessor = checkAprilTagProcessor(aprilTagProcessorArg); + if (aprilTagProcessor != null) { + return aprilTagProcessor.getPerTagAvgPoseSolveTime(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.class}, methodName = {"getDetections"}) + public String getDetections(Object aprilTagProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor", ".getDetections"); + AprilTagProcessor aprilTagProcessor = checkAprilTagProcessor(aprilTagProcessorArg); + if (aprilTagProcessor != null) { + return toJson(aprilTagProcessor.getDetections()); + } + return "[]"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagProcessor.class}, methodName = {"getFreshDetections"}) + public String getFreshDetections(Object aprilTagProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagProcessor", ".getFreshDetections"); + AprilTagProcessor aprilTagProcessor = checkAprilTagProcessor(aprilTagProcessorArg); + if (aprilTagProcessor != null) { + return toJson(aprilTagProcessor.getFreshDetections()); + } + return "[]"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagGameDatabase.class}, methodName = {"getCurrentGameTagLibrary"}) + public AprilTagLibrary getCurrentGameTagLibrary() { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagGameDatabase", ".getCurrentGameTagLibrary"); + return AprilTagGameDatabase.getCurrentGameTagLibrary(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagGameDatabase.class}, methodName = {"getCenterStageTagLibrary"}) + public AprilTagLibrary getCenterStageTagLibrary() { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagGameDatabase", ".getCenterStageTagLibrary"); + return AprilTagGameDatabase.getCenterStageTagLibrary(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagGameDatabase.class}, methodName = {"getIntoTheDeepTagLibrary"}) + public AprilTagLibrary getIntoTheDeepTagLibrary() { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagGameDatabase", ".getIntoTheDeepTagLibrary"); + return AprilTagGameDatabase.getIntoTheDeepTagLibrary(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagGameDatabase.class}, methodName = {"getDecodeTagLibrary"}) + public AprilTagLibrary getDecodeTagLibrary() { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagGameDatabase", ".getDecodeTagLibrary"); + return AprilTagGameDatabase.getDecodeTagLibrary(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagGameDatabase.class}, methodName = {"getSampleTagLibrary"}) + public AprilTagLibrary getSampleTagLibrary() { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagGameDatabase", ".getSampleTagLibrary"); + return AprilTagGameDatabase.getSampleTagLibrary(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, constructor = true) + public AprilTagLibrary.Builder createAprilTagLibraryBuilder() { + try { + startBlockExecution(BlockType.CREATE, "AprilTagLibrary.Builder", ""); + return new AprilTagLibrary.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, methodName = {"setAllowOverwrite"}) + public void setAllowOverwrite(Object aprilTagLibraryBuilderArg, boolean allowOverwrite) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary.Builder", ".setAllowOverwrite"); + AprilTagLibrary.Builder aprilTagLibraryBuilder = checkAprilTagLibraryBuilder(aprilTagLibraryBuilderArg); + if (aprilTagLibraryBuilder != null) { + aprilTagLibraryBuilder.setAllowOverwrite(allowOverwrite); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, methodName = {"addTag"}) + public void addTag_WithMetadata(Object aprilTagLibraryBuilderArg, String aprilTagMetadataString) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary.Builder", ".addTag"); + AprilTagLibrary.Builder aprilTagLibraryBuilder = checkAprilTagLibraryBuilder(aprilTagLibraryBuilderArg); + if (aprilTagLibraryBuilder != null) { + AprilTagMetadata aprilTagMetadata = (AprilTagMetadata) fromJson(aprilTagMetadataString, AprilTagMetadata.class); + aprilTagLibraryBuilder.addTag(aprilTagMetadata); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, methodName = {"addTag"}) + public void addTag(Object aprilTagLibraryBuilderArg, int id, String name, double tagSize, Object fieldPositionArg, String distanceUnitString, Object fieldOrientationArg) { + AprilTagLibrary.Builder aprilTagLibraryBuilder; + VectorF fieldPosition; + DistanceUnit distanceUnit; + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary.Builder", ".addTag"); + aprilTagLibraryBuilder = checkAprilTagLibraryBuilder(aprilTagLibraryBuilderArg); + try { + fieldPosition = checkVectorF(fieldPositionArg); + try { + distanceUnit = checkDistanceUnit(distanceUnitString); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th3) { + e = th3; + } + try { + Quaternion fieldOrientation = checkQuaternion(fieldOrientationArg); + if (aprilTagLibraryBuilder != null && fieldPosition != null && distanceUnit != null && fieldOrientation != null) { + aprilTagLibraryBuilder.addTag(id, name, tagSize, fieldPosition, distanceUnit, fieldOrientation); + } + } catch (Throwable th4) { + e = th4; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, methodName = {"addTag"}) + public void addTag_withoutPoseInfo(Object aprilTagLibraryBuilderArg, int id, String name, double tagSize, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary.Builder", ".addTag"); + AprilTagLibrary.Builder aprilTagLibraryBuilder = checkAprilTagLibraryBuilder(aprilTagLibraryBuilderArg); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (aprilTagLibraryBuilder != null && distanceUnit != null) { + aprilTagLibraryBuilder.addTag(id, name, tagSize, distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, methodName = {"addTags"}) + public void addTags(Object aprilTagLibraryBuilderArg, Object aprilTagLibraryArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary.Builder", ".addTags"); + AprilTagLibrary.Builder aprilTagLibraryBuilder = checkAprilTagLibraryBuilder(aprilTagLibraryBuilderArg); + AprilTagLibrary aprilTagLibrary = checkAprilTagLibrary(aprilTagLibraryArg); + if (aprilTagLibraryBuilder != null && aprilTagLibrary != null) { + aprilTagLibraryBuilder.addTags(aprilTagLibrary); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.Builder.class}, methodName = {"build"}) + public AprilTagLibrary buildAprilTagLibrary(Object aprilTagLibraryBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary.Builder", ".build"); + AprilTagLibrary.Builder aprilTagLibraryBuilder = checkAprilTagLibraryBuilder(aprilTagLibraryBuilderArg); + if (aprilTagLibraryBuilder != null) { + return aprilTagLibraryBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagLibrary.class}, methodName = {"lookupTag"}) + public String lookupTag(Object aprilTagLibraryArg, int id) { + try { + startBlockExecution(BlockType.FUNCTION, "AprilTagLibrary", ".lookupTag"); + AprilTagLibrary aprilTagLibrary = checkAprilTagLibrary(aprilTagLibraryArg); + if (aprilTagLibrary != null) { + AprilTagMetadata aprilTagMetadata = aprilTagLibrary.lookupTag(id); + return toJson(aprilTagMetadata); + } + return "null"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AprilTagMetadata.class}, constructor = true) + public String createMetadata(int id, String name, double tagSize, Object fieldPositionArg, String distanceUnitString, Object fieldOrientationArg) { + try { + startBlockExecution(BlockType.CREATE, "AprilTagMetadata", ""); + try { + VectorF fieldPosition = checkVectorF(fieldPositionArg); + try { + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + try { + Quaternion fieldOrientation = checkQuaternion(fieldOrientationArg); + if (fieldPosition != null && distanceUnit != null && fieldOrientation != null) { + AprilTagMetadata aprilTagMetadata = new AprilTagMetadata(id, name, tagSize, fieldPosition, distanceUnit, fieldOrientation); + return toJson(aprilTagMetadata); + } + return "null"; + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th3) { + e = th3; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th4) { + e = th4; + } + } + + @JavascriptInterface + @Block(classes = {AprilTagMetadata.class}, constructor = true) + public String createMetadata_withoutPoseInfo(int id, String name, double tagSize, String distanceUnitString) { + try { + startBlockExecution(BlockType.CREATE, "AprilTagMetadata", ""); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + AprilTagMetadata aprilTagMetadata = new AprilTagMetadata(id, name, tagSize, distanceUnit); + return toJson(aprilTagMetadata); + } + return "null"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public VectorF createVectorF(String blockTypeString, String blockFirstName, String blockLastName, String json) { + try { + startBlockExecution(BlockType.valueOf(blockTypeString), blockFirstName, blockLastName); + return (VectorF) fromJson(json, VectorF.class); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public Quaternion createQuaternion(String blockTypeString, String blockFirstName, String blockLastName, String json) { + try { + startBlockExecution(BlockType.valueOf(blockTypeString), blockFirstName, blockLastName); + return (Quaternion) fromJson(json, Quaternion.class); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public AprilTagPoseFtc createAprilTagPoseFtc(String blockTypeString, String blockFirstName, String blockLastName, String json) { + try { + startBlockExecution(BlockType.valueOf(blockTypeString), blockFirstName, blockLastName); + return (AprilTagPoseFtc) fromJson(json, AprilTagPoseFtc.class); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public AprilTagPoseRaw createAprilTagPoseRaw(String blockTypeString, String blockFirstName, String blockLastName, String json) { + try { + startBlockExecution(BlockType.valueOf(blockTypeString), blockFirstName, blockLastName); + return (AprilTagPoseRaw) fromJson(json, AprilTagPoseRaw.class); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public Pose3D createAprilTagPoseRobot(String blockTypeString, String blockFirstName, String blockLastName, String json) { + try { + startBlockExecution(BlockType.valueOf(blockTypeString), blockFirstName, blockLastName); + return (Pose3D) fromJson(json, Pose3D.class); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public MatrixF createMatrixF(String blockTypeString, String blockFirstName, String blockLastName, String json) { + try { + startBlockExecution(BlockType.valueOf(blockTypeString), blockFirstName, blockLastName); + return (MatrixF) fromJson(json, GeneralMatrixF.class); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUAccess.java new file mode 100644 index 000000000000..340ae7c71c5a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUAccess.java @@ -0,0 +1,595 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.adafruit.AdafruitBNO055IMU; +import com.qualcomm.hardware.bosch.BNO055IMU; +import com.qualcomm.hardware.bosch.BNO055IMUImpl; +import com.qualcomm.hardware.lynx.LynxEmbeddedIMU; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.util.ReadWriteFile; +import com.sun.tools.doclint.DocLint; +import java.util.Set; +import org.firstinspires.ftc.robotcore.external.navigation.Acceleration; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; +import org.firstinspires.ftc.robotcore.external.navigation.Axis; +import org.firstinspires.ftc.robotcore.external.navigation.MagneticFlux; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Position; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; +import org.firstinspires.ftc.robotcore.external.navigation.Temperature; +import org.firstinspires.ftc.robotcore.external.navigation.Velocity; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; + +/* JADX INFO: loaded from: classes8.dex */ +class BNO055IMUAccess extends HardwareAccess { + private final BNO055IMUImpl imu; + + BNO055IMUAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, BNO055IMUImpl.class); + this.imu = (BNO055IMUImpl) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAcceleration"}) + public Acceleration getAcceleration() { + try { + startBlockExecution(BlockType.GETTER, ".Acceleration"); + return this.imu.getAcceleration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAngularOrientation"}) + public Orientation getAngularOrientation() { + try { + startBlockExecution(BlockType.GETTER, ".AngularOrientation"); + return this.imu.getAngularOrientation(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAngularVelocity"}) + public AngularVelocity getAngularVelocity() { + try { + startBlockExecution(BlockType.GETTER, ".AngularVelocity"); + return this.imu.getAngularVelocity(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getCalibrationStatus"}) + public String getCalibrationStatus() { + try { + startBlockExecution(BlockType.GETTER, ".CalibrationStatus"); + BNO055IMU.CalibrationStatus calibrationStatus = this.imu.getCalibrationStatus(); + if (calibrationStatus != null) { + return calibrationStatus.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getGravity"}) + public Acceleration getGravity() { + try { + startBlockExecution(BlockType.GETTER, ".Gravity"); + return this.imu.getGravity(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getLinearAcceleration"}) + public Acceleration getLinearAcceleration() { + try { + startBlockExecution(BlockType.GETTER, ".LinearAcceleration"); + return this.imu.getLinearAcceleration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getMagneticFieldStrength"}) + public MagneticFlux getMagneticFieldStrength() { + try { + startBlockExecution(BlockType.GETTER, ".MagneticFieldStrength"); + return this.imu.getMagneticFieldStrength(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getOverallAcceleration"}) + public Acceleration getOverallAcceleration() { + try { + startBlockExecution(BlockType.GETTER, ".OverallAcceleration"); + return this.imu.getOverallAcceleration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getParameters"}) + public BNO055IMU.Parameters getParameters() { + try { + startBlockExecution(BlockType.GETTER, ".Parameters"); + return (BNO055IMU.Parameters) this.imu.getParameters(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getPosition"}) + public Position getPosition() { + try { + startBlockExecution(BlockType.GETTER, ".Position"); + return this.imu.getPosition(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getQuaternionOrientation"}) + public Quaternion getQuaternionOrientation() { + try { + startBlockExecution(BlockType.GETTER, ".QuaternionOrientation"); + return this.imu.getQuaternionOrientation(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getSystemError"}) + public String getSystemError() { + try { + startBlockExecution(BlockType.GETTER, ".SystemError"); + BNO055IMU.SystemError systemError = this.imu.getSystemError(); + if (systemError != null) { + return systemError.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getSystemStatus"}) + public String getSystemStatus() { + try { + startBlockExecution(BlockType.GETTER, ".SystemStatus"); + BNO055IMU.SystemStatus systemStatus = this.imu.getSystemStatus(); + if (systemStatus != null) { + return systemStatus.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getTemperature"}) + public Temperature getTemperature() { + try { + startBlockExecution(BlockType.GETTER, ".Temperature"); + return this.imu.getTemperature(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getVelocity"}) + public Velocity getVelocity() { + try { + startBlockExecution(BlockType.GETTER, ".Velocity"); + return this.imu.getVelocity(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"initialize"}) + public void initialize(Object parametersArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".initialize"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + this.imu.initialize(parameters); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"startAccelerationIntegration"}) + public void startAccelerationIntegration_with1(int msPollInterval) { + try { + startBlockExecution(BlockType.FUNCTION, ".startAccelerationIntegration"); + this.imu.startAccelerationIntegration(null, null, msPollInterval); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"startAccelerationIntegration"}) + public void startAccelerationIntegration_with3(Object initialPositionArg, Object initialVelocityArg, int msPollInterval) { + try { + startBlockExecution(BlockType.FUNCTION, ".startAccelerationIntegration"); + Position initialPosition = (Position) checkArg(initialPositionArg, Position.class, "initialPosition"); + Velocity initialVelocity = (Velocity) checkArg(initialVelocityArg, Velocity.class, "initialVelocity"); + if (initialPosition != null && initialVelocity != null) { + this.imu.startAccelerationIntegration(initialPosition, initialVelocity, msPollInterval); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"stopAccelerationIntegration"}) + public void stopAccelerationIntegration() { + try { + startBlockExecution(BlockType.FUNCTION, ".stopAccelerationIntegration"); + this.imu.stopAccelerationIntegration(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"isSystemCalibrated"}) + public boolean isSystemCalibrated() { + try { + startBlockExecution(BlockType.FUNCTION, ".isSystemCalibrated"); + return this.imu.isSystemCalibrated(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"isGyroCalibrated"}) + public boolean isGyroCalibrated() { + try { + startBlockExecution(BlockType.FUNCTION, ".isGyroCalibrated"); + return this.imu.isGyroCalibrated(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"isAccelerometerCalibrated"}) + public boolean isAccelerometerCalibrated() { + try { + startBlockExecution(BlockType.FUNCTION, ".isAccelerometerCalibrated"); + return this.imu.isAccelerometerCalibrated(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"isMagnetometerCalibrated"}) + public boolean isMagnetometerCalibrated() { + try { + startBlockExecution(BlockType.FUNCTION, ".isMagnetometerCalibrated"); + return this.imu.isMagnetometerCalibrated(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"readCalibrationData"}) + public void saveCalibrationData(String absoluteFileName) { + try { + startBlockExecution(BlockType.FUNCTION, ".saveCalibrationData"); + ReadWriteFile.writeFile(AppUtil.getInstance().getSettingsFile(absoluteFileName), this.imu.readCalibrationData().serialize()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.imu.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.imu.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.imu.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.imu.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAngularVelocityAxes"}) + public String getAngularVelocityAxes() { + try { + startBlockExecution(BlockType.GETTER, ".AngularVelocityAxes"); + Set axes = this.imu.getAngularVelocityAxes(); + StringBuilder sb = new StringBuilder(); + sb.append("["); + String delimiter = ""; + for (Axis axis : axes) { + sb.append(delimiter).append("\"").append(axis.toString()).append("\""); + delimiter = DocLint.TAGS_SEPARATOR; + } + sb.append("]"); + return sb.toString(); + } finally { + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAngularVelocity"}) + public AngularVelocity getAngularVelocity(String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getAngularVelocity"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return this.imu.getAngularVelocity(angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAngularOrientationAxes"}) + public String getAngularOrientationAxes() { + try { + startBlockExecution(BlockType.GETTER, ".AngularOrientationAxes"); + Set axes = this.imu.getAngularOrientationAxes(); + StringBuilder sb = new StringBuilder(); + sb.append("["); + String delimiter = ""; + for (Axis axis : axes) { + sb.append(delimiter).append("\"").append(axis.toString()).append("\""); + delimiter = DocLint.TAGS_SEPARATOR; + } + sb.append("]"); + return sb.toString(); + } finally { + } + } + + @JavascriptInterface + @Block(classes = {AdafruitBNO055IMU.class, LynxEmbeddedIMU.class}, methodName = {"getAngularOrientation"}) + public Orientation getAngularOrientation(String axesReferenceString, String axesOrderString, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getAngularOrientation"); + AxesReference axesReference = checkAxesReference(axesReferenceString); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference != null && axesOrder != null && angleUnit != null) { + return this.imu.getAngularOrientation(axesReference, axesOrder, angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUParametersAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUParametersAccess.java new file mode 100644 index 000000000000..797a11f577cb --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BNO055IMUParametersAccess.java @@ -0,0 +1,459 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.bosch.BNO055IMU; +import com.qualcomm.hardware.bosch.JustLoggingAccelerationIntegrator; +import com.qualcomm.hardware.bosch.NaiveAccelerationIntegrator; +import com.qualcomm.robotcore.hardware.I2cAddr; + +/* JADX INFO: loaded from: classes8.dex */ +class BNO055IMUParametersAccess extends Access { + + enum Algorithm { + NAIVE, + JUST_LOGGING + } + + BNO055IMUParametersAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "IMU-BNO055.Parameters"); + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, constructor = true) + public BNO055IMU.Parameters create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new BNO055IMU.Parameters(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"accelUnit"}) + public void setAccelUnit(Object parametersArg, String accelUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setAccelUnit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + BNO055IMU.AccelUnit accelUnit = (BNO055IMU.AccelUnit) checkArg(accelUnitString, BNO055IMU.AccelUnit.class, "accelUnit"); + if (parameters != null && accelUnit != null) { + parameters.accelUnit = accelUnit; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"accelUnit"}) + public String getAccelUnit(Object parametersArg) { + BNO055IMU.AccelUnit accelUnit; + try { + startBlockExecution(BlockType.GETTER, ".AccelUnit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null && (accelUnit = parameters.accelUnit) != null) { + return accelUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"accelerationIntegrationAlgorithm"}) + public void setAccelerationIntegrationAlgorithm(Object parametersArg, String algorithmString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setAccelerationIntegrationAlgorithm"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + Algorithm algorithm = (Algorithm) checkArg(algorithmString, Algorithm.class, "accelerationIntegrationAlgorithm"); + if (parameters != null && algorithm != null) { + switch (algorithm) { + case NAIVE: + parameters.accelerationIntegrationAlgorithm = null; + break; + case JUST_LOGGING: + parameters.accelerationIntegrationAlgorithm = new JustLoggingAccelerationIntegrator(); + break; + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"accelerationIntegrationAlgorithm"}) + public String getAccelerationIntegrationAlgorithm(Object parametersArg) { + try { + startBlockExecution(BlockType.GETTER, ".AccelerationIntegrationAlgorithm"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + BNO055IMU.AccelerationIntegrator accelerationIntegrator = parameters.accelerationIntegrationAlgorithm; + if (accelerationIntegrator != null && !(accelerationIntegrator instanceof NaiveAccelerationIntegrator)) { + if (accelerationIntegrator instanceof JustLoggingAccelerationIntegrator) { + return "JUST_LOGGING"; + } + } + return "NAIVE"; + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"angleUnit"}) + public void setAngleUnit(Object parametersArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setAngleUnit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + BNO055IMU.AngleUnit angleUnit = (BNO055IMU.AngleUnit) checkArg(angleUnitString, BNO055IMU.AngleUnit.class, "angleUnit"); + if (parameters != null && angleUnit != null) { + parameters.angleUnit = angleUnit; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"angleUnit"}) + public String getAngleUnit(Object parametersArg) { + BNO055IMU.AngleUnit angleUnit; + try { + startBlockExecution(BlockType.GETTER, ".AngleUnit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null && (angleUnit = parameters.angleUnit) != null) { + return angleUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"calibrationDataFile"}) + public void setCalibrationDataFile(Object parametersArg, String calibrationDataFile) { + try { + startBlockExecution(BlockType.FUNCTION, ".setCalibrationDataFile"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + parameters.calibrationDataFile = calibrationDataFile; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"calibrationDataFile"}) + public String getCalibrationDataFile(Object parametersArg) { + try { + startBlockExecution(BlockType.GETTER, ".CalibrationDataFile"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + String calibrationDataFile = parameters.calibrationDataFile; + if (calibrationDataFile != null) { + return calibrationDataFile; + } + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"i2cAddr"}) + public void setI2cAddress7Bit(Object parametersArg, int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.FUNCTION, ".setI2cAddress7Bit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + parameters.i2cAddr = I2cAddr.create7bit(i2cAddr7Bit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"i2cAddr"}) + public int getI2cAddress7Bit(Object parametersArg) { + I2cAddr i2cAddr; + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null && (i2cAddr = parameters.i2cAddr) != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"i2cAddr"}) + public void setI2cAddress8Bit(Object parametersArg, int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.FUNCTION, ".setI2cAddress8Bit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + parameters.i2cAddr = I2cAddr.create8bit(i2cAddr8Bit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"i2cAddr"}) + public int getI2cAddress8Bit(Object parametersArg) { + I2cAddr i2cAddr; + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null && (i2cAddr = parameters.i2cAddr) != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"loggingEnabled"}) + public void setLoggingEnabled(Object parametersArg, boolean loggingEnabled) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLoggingEnabled"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + parameters.loggingEnabled = loggingEnabled; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"loggingEnabled"}) + public boolean getLoggingEnabled(Object parametersArg) { + try { + startBlockExecution(BlockType.GETTER, ".LoggingEnabled"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + return parameters.loggingEnabled; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"loggingTag"}) + public void setLoggingTag(Object parametersArg, String loggingTag) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLoggingTag"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + parameters.loggingTag = loggingTag; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"loggingTag"}) + public String getLoggingTag(Object parametersArg) { + try { + startBlockExecution(BlockType.GETTER, ".LoggingTag"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null) { + String loggingTag = parameters.loggingTag; + if (loggingTag != null) { + return loggingTag; + } + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"mode"}) + public void setSensorMode(Object parametersArg, String sensorModeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setSensorMode"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + BNO055IMU.SensorMode sensorMode = (BNO055IMU.SensorMode) checkArg(sensorModeString, BNO055IMU.SensorMode.class, "sensorMode"); + if (parameters != null && sensorMode != null) { + parameters.mode = sensorMode; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"mode"}) + public String getSensorMode(Object parametersArg) { + BNO055IMU.SensorMode sensorMode; + try { + startBlockExecution(BlockType.GETTER, ".SensorMode"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null && (sensorMode = parameters.mode) != null) { + return sensorMode.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"temperatureUnit"}) + public void setTempUnit(Object parametersArg, String tempUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setTempUnit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + BNO055IMU.TempUnit tempUnit = (BNO055IMU.TempUnit) checkArg(tempUnitString, BNO055IMU.TempUnit.class, "tempUnit"); + if (parameters != null && tempUnit != null) { + parameters.temperatureUnit = tempUnit; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {BNO055IMU.Parameters.class}, fieldName = {"temperatureUnit"}) + public String getTempUnit(Object parametersArg) { + BNO055IMU.TempUnit tempUnit; + try { + startBlockExecution(BlockType.GETTER, ".TempUnit"); + BNO055IMU.Parameters parameters = checkBNO055IMUParameters(parametersArg); + if (parameters != null && (tempUnit = parameters.temperatureUnit) != null) { + return tempUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlackboardAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlackboardAccess.java new file mode 100644 index 000000000000..310ccce40dc5 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlackboardAccess.java @@ -0,0 +1,260 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.util.RobotLog; +import java.util.HashMap; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +class BlackboardAccess extends Access { + private final Map blackboard; + + BlackboardAccess(BlocksOpMode blocksOpMode, String identifier, Map blackboard) { + super(blocksOpMode, identifier, "Blackboard"); + this.blackboard = blackboard; + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"clear"}) + public void clear() { + try { + startBlockExecution(BlockType.FUNCTION, ".clear"); + this.blackboard.clear(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"containsKey"}) + public boolean containsKey(String key) { + try { + startBlockExecution(BlockType.FUNCTION, ".containsKey"); + return this.blackboard.containsKey(key); + } catch (Throwable e) { + try { + e.printStackTrace(); + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String getType(String label, String key) { + try { + startBlockExecution(BlockType.FUNCTION, "." + label); + Object value = this.blackboard.get(key); + return value == null ? "null" : value instanceof Boolean ? "boolean" : value instanceof Number ? "number" : value instanceof String ? "string" : "object"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"get"}) + public Object get(String label, String key) { + try { + startBlockExecution(BlockType.FUNCTION, "." + label); + return this.blackboard.get(key); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"get"}) + public boolean getBoolean(String label, String key) { + try { + startBlockExecution(BlockType.FUNCTION, "." + label); + Object value = this.blackboard.get(key); + if (value instanceof Boolean) { + return ((Boolean) value).booleanValue(); + } + RobotLog.ww("BlackboardAccess", "Expected blackboard.get(" + key + ") to return a Boolean"); + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"get"}) + public double getNumber(String label, String key) { + try { + startBlockExecution(BlockType.FUNCTION, "." + label); + Object value = this.blackboard.get(key); + if (value instanceof Number) { + return ((Number) value).doubleValue(); + } + RobotLog.ww("BlackboardAccess", "Expected blackboard.get(" + key + ") to return a Number"); + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"get"}) + public String getString(String label, String key) { + try { + startBlockExecution(BlockType.FUNCTION, "." + label); + Object value = this.blackboard.get(key); + if (value instanceof String) { + return (String) value; + } + RobotLog.ww("BlackboardAccess", "Expected blackboard.get(" + key + ") to return a String"); + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"isEmpty"}) + public boolean isEmpty() { + try { + startBlockExecution(BlockType.FUNCTION, ".isEmpty"); + return this.blackboard.isEmpty(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"put"}) + public void put(String key, Object value) { + try { + startBlockExecution(BlockType.FUNCTION, ".put"); + this.blackboard.put(key, value); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"put"}) + public void putBoolean(String key, boolean value) { + try { + startBlockExecution(BlockType.FUNCTION, ".put"); + this.blackboard.put(key, Boolean.valueOf(value)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"put"}) + public void putNumber(String key, double value) { + try { + startBlockExecution(BlockType.FUNCTION, ".put"); + this.blackboard.put(key, Double.valueOf(value)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"put"}) + public void putString(String key, String value) { + try { + startBlockExecution(BlockType.FUNCTION, ".put"); + this.blackboard.put(key, value); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"remove"}) + public Object remove(String key) { + try { + startBlockExecution(BlockType.FUNCTION, ".remove"); + return this.blackboard.remove(key); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HashMap.class, Map.class}, methodName = {"size"}) + public int size() { + try { + startBlockExecution(BlockType.FUNCTION, ".size"); + return this.blackboard.size(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlinkinPatternAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlinkinPatternAccess.java new file mode 100644 index 000000000000..178ec6d2a12b --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlinkinPatternAccess.java @@ -0,0 +1,128 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.rev.RevBlinkinLedDriver; + +/* JADX INFO: loaded from: classes8.dex */ +class BlinkinPatternAccess extends Access { + BlinkinPatternAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "BlinkinPattern"); + } + + @JavascriptInterface + @Block(classes = {RevBlinkinLedDriver.BlinkinPattern.class}, methodName = {"fromNumber"}) + public String fromNumber(int number) { + try { + startBlockExecution(BlockType.FUNCTION, ".fromNumber"); + return RevBlinkinLedDriver.BlinkinPattern.fromNumber(number).toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevBlinkinLedDriver.BlinkinPattern.class}, methodName = {"ordinal"}) + public int toNumber(String blinkinPatternString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toNumber"); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = checkBlinkinPattern(blinkinPatternString); + if (blinkinPattern != null) { + return blinkinPattern.ordinal(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String fromText(String text) { + try { + startBlockExecution(BlockType.FUNCTION, ".fromText"); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = checkBlinkinPattern(text); + if (blinkinPattern != null) { + return blinkinPattern.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevBlinkinLedDriver.BlinkinPattern.class}, methodName = {"toString"}) + public String toText(String blinkinPatternString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = checkBlinkinPattern(blinkinPatternString); + if (blinkinPattern != null) { + return blinkinPattern.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevBlinkinLedDriver.BlinkinPattern.class}, methodName = {"next"}) + public String next(String blinkinPatternString) { + try { + startBlockExecution(BlockType.FUNCTION, ".next"); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = checkBlinkinPattern(blinkinPatternString); + if (blinkinPattern != null) { + return blinkinPattern.next().toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevBlinkinLedDriver.BlinkinPattern.class}, methodName = {"previous"}) + public String previous(String blinkinPatternString) { + try { + startBlockExecution(BlockType.FUNCTION, ".previous"); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = checkBlinkinPattern(blinkinPatternString); + if (blinkinPattern != null) { + return blinkinPattern.previous().toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Block.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Block.java new file mode 100644 index 000000000000..a351331a42e2 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Block.java @@ -0,0 +1,21 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface Block { + Class[] classes() default {}; + + boolean constructor() default false; + + boolean exclusiveToBlocks() default false; + + String[] fieldName() default {}; + + String[] methodName() default {}; +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlockType.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlockType.java new file mode 100644 index 000000000000..f7c88ff36889 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlockType.java @@ -0,0 +1,11 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +/* JADX INFO: loaded from: classes8.dex */ +public enum BlockType { + SPECIAL, + EVENT, + CREATE, + SETTER, + GETTER, + FUNCTION +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlocksOpMode.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlocksOpMode.java new file mode 100644 index 000000000000..c46e757c06fc --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/BlocksOpMode.java @@ -0,0 +1,596 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.app.Activity; +import android.webkit.ConsoleMessage; +import android.webkit.JavascriptInterface; +import android.webkit.WebChromeClient; +import android.webkit.WebView; +import com.android.tools.r8.internal.HB$$ExternalSyntheticBackportWithForwarding0; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItemMap; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareType; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareUtil; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.TensorFlowAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodCurrentGameAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodCustomModelAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodRoverRuckusAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodSkyStoneAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaCurrentGameAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaLocalizerAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaLocalizerParametersAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaRelicRecoveryAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaRoverRuckusAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaSkyStoneAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaTrackableAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaTrackableDefaultListenerAccess; +import com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaTrackablesAccess; +import com.google.blocks.ftcrobotcontroller.util.FileUtil; +import com.google.blocks.ftcrobotcontroller.util.Identifier; +import com.google.blocks.ftcrobotcontroller.util.ProjectsUtil; +import com.qualcomm.hardware.bosch.BNO055IMUImpl; +import com.qualcomm.hardware.lynx.LynxModule; +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.OpMode; +import com.qualcomm.robotcore.eventloop.opmode.OpModeManager; +import com.qualcomm.robotcore.hardware.EmbeddedControlHubModule; +import com.qualcomm.robotcore.hardware.LynxModuleImuType; +import com.qualcomm.robotcore.util.RobotLog; +import com.sun.tools.doclint.DocLint; +import fi.iki.elonen.NanoHTTPD; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import org.firstinspires.ftc.onbotjava.OnBotJavaFileSystemUtils; +import org.firstinspires.ftc.robotcore.external.BlocksOpModeCompanion; +import org.firstinspires.ftc.robotcore.internal.opmode.InstanceOpModeManager; +import org.firstinspires.ftc.robotcore.internal.opmode.InstanceOpModeRegistrar; +import org.firstinspires.ftc.robotcore.internal.opmode.OpModeMeta; +import org.firstinspires.ftc.robotcore.internal.opmode.RegisteredOpModes; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; +import org.firstinspires.ftc.robotcore.internal.ui.UILocation; + +/* JADX INFO: loaded from: classes8.dex */ +public final class BlocksOpMode extends LinearOpMode { + private static final String BLOCK_EXECUTION_ERROR = "Error: Error calling method on NPObject."; + private static final boolean DEBUG_BLOCKS_EXECUTION = false; + private static final String LOG_PREFIX = "BlocksOpMode - "; + private static Activity activity; + private static WebView webView; + private volatile boolean currentBlockFinished; + private volatile String currentBlockFirstName; + private volatile String currentBlockLastName; + private volatile BlockType currentBlockType; + private volatile Thread javaBridgeThread; + private final String logPrefix; + private final String project; + private static final AtomicReference fatalExceptionHolder = new AtomicReference<>(); + private static final AtomicReference fatalErrorMessageHolder = new AtomicReference<>(); + private static final AtomicReference nameOfOpModeLoadedIntoWebView = new AtomicReference<>(); + static final Map javascriptInterfaces = new ConcurrentHashMap(); + private final AtomicLong interruptedTime = new AtomicLong(); + private volatile boolean forceStopped = false; + private volatile boolean wasTerminated = false; + + BlocksOpMode(String project) { + this.project = project; + this.logPrefix = "BlocksOpMode - \"" + project + "\" - "; + } + + /* JADX INFO: Access modifiers changed from: private */ + public String getLogPrefix() { + Thread thread = Thread.currentThread(); + return this.logPrefix + thread.getThreadGroup().getName() + OnBotJavaFileSystemUtils.PATH_SEPARATOR + thread.getName() + " - "; + } + + void startBlockExecution(BlockType blockType, String blockFirstName, String blockLastName) { + this.currentBlockType = blockType; + this.currentBlockFirstName = blockFirstName; + this.currentBlockLastName = blockLastName; + this.currentBlockFinished = false; + checkIfStopRequested(); + } + + void endBlockExecution() { + if (fatalExceptionHolder.get() == null) { + this.currentBlockFinished = true; + } + } + + String getFullBlockLabel() { + switch (this.currentBlockType) { + case SPECIAL: + return this.currentBlockFirstName + this.currentBlockLastName; + case EVENT: + return "to " + this.currentBlockFirstName + this.currentBlockLastName; + case CREATE: + return "new " + this.currentBlockFirstName; + case SETTER: + return "set " + this.currentBlockFirstName + this.currentBlockLastName + " to"; + case GETTER: + return this.currentBlockFirstName + this.currentBlockLastName; + case FUNCTION: + return "call " + this.currentBlockFirstName + this.currentBlockLastName; + default: + return "to runOpmode"; + } + } + + public void handleFatalException(Throwable e) { + String errorMessage = e.getClass().getSimpleName() + (e.getMessage() != null ? " - " + e.getMessage() : ""); + RuntimeException re = new RuntimeException("Fatal error occurred while executing the block labeled \"" + getFullBlockLabel() + "\". " + errorMessage, e); + fatalExceptionHolder.set(re); + throw re; + } + + private void checkIfStopRequested() { + if (this.interruptedTime.get() != 0 && isStopRequested() && System.currentTimeMillis() - this.interruptedTime.get() >= 800) { + RobotLog.i(getLogPrefix() + "checkIfStopRequested - about to stop OpMode by throwing RuntimeException"); + this.forceStopped = true; + throw new RuntimeException("Stopping OpMode " + this.project + " by force."); + } + } + + void waitForStartForBlocks() { + RobotLog.i(getLogPrefix() + "waitForStartForBlocks - start"); + while (!isStartedForBlocks()) { + try { + synchronized (this) { + try { + try { + wait(100L); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return; + } + } finally { + } + } + } finally { + RobotLog.i(getLogPrefix() + "waitForStartForBlocks - end"); + } + } + } + + void sleepForBlocks(long millis) { + RobotLog.i(getLogPrefix() + "sleepForBlocks - start"); + try { + long endTime = System.currentTimeMillis() + millis; + while (!isInterrupted()) { + long chunk = Math.min(100L, endTime - System.currentTimeMillis()); + if (chunk <= 0) { + break; + } else { + sleep(chunk); + } + } + } finally { + RobotLog.i(getLogPrefix() + "sleepForBlocks - end"); + } + } + + private boolean isInterrupted() { + return this.interruptedTime.get() != 0; + } + + boolean isStartedForBlocks() { + return super.isStarted() || isInterrupted(); + } + + boolean isStopRequestedForBlocks() { + return super.isStopRequested() || isInterrupted(); + } + + void terminateOpModeNowForBlocks() { + this.wasTerminated = true; + super.terminateOpModeNow(); + } + + @Override // com.qualcomm.robotcore.eventloop.opmode.LinearOpMode + public void runOpMode() { + RobotLog.i(getLogPrefix() + "runOpMode - start"); + cleanUpPreviousBlocksOpMode(); + BlocksOpModeCompanion.opMode = this; + BlocksOpModeCompanion.linearOpMode = this; + BlocksOpModeCompanion.hardwareMap = this.hardwareMap; + BlocksOpModeCompanion.telemetry = this.telemetry; + BlocksOpModeCompanion.gamepad1 = this.gamepad1; + BlocksOpModeCompanion.gamepad2 = this.gamepad2; + try { + fatalExceptionHolder.set(null); + fatalErrorMessageHolder.set(null); + this.currentBlockType = BlockType.EVENT; + this.currentBlockFirstName = ""; + this.currentBlockLastName = "runOpMode"; + boolean interrupted = false; + this.interruptedTime.set(0L); + AtomicBoolean scriptFinished = new AtomicBoolean(); + Object scriptFinishedLock = new Object(); + BlocksOpModeAccess blocksOpModeAccess = new BlocksOpModeAccess(Identifier.BLOCKS_OP_MODE.identifierForJavaScript, scriptFinishedLock, scriptFinished); + javascriptInterfaces.put(Identifier.BLOCKS_OP_MODE.identifierForJavaScript, blocksOpModeAccess); + AppUtil appUtil = AppUtil.getInstance(); + synchronized (scriptFinishedLock) { + appUtil.runOnUiThread(new Runnable() { // from class: com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode.1 + @Override // java.lang.Runnable + public void run() { + try { + RobotLog.i(BlocksOpMode.this.getLogPrefix() + "run1 - before loadScript"); + BlocksOpMode.this.loadScript(); + RobotLog.i(BlocksOpMode.this.getLogPrefix() + "run1 - after loadScript"); + } catch (Exception e) { + RobotLog.e(BlocksOpMode.this.getLogPrefix() + "run1 - caught " + e); + if (e.getStackTrace() != null) { + RobotLog.logStackTrace(e); + } + } + } + }); + RobotLog.i(getLogPrefix() + "runOpMode - before while !scriptFinished loop"); + while (!scriptFinished.get()) { + try { + scriptFinishedLock.wait(); + } catch (InterruptedException e) { + RobotLog.e(getLogPrefix() + "runOpMode - caught InterruptedException during scriptFinishedLock.wait"); + interrupted = true; + this.interruptedTime.set(System.currentTimeMillis()); + if (this.javaBridgeThread != null) { + this.javaBridgeThread.interrupt(); + } + } + } + RobotLog.i(getLogPrefix() + "runOpMode - after while !scriptFinished loop"); + } + appUtil.runOnUiThread(new Runnable() { // from class: com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode.2 + @Override // java.lang.Runnable + public void run() { + try { + RobotLog.i(BlocksOpMode.this.getLogPrefix() + "run2 - before clearScript"); + BlocksOpMode.this.clearScript(); + RobotLog.i(BlocksOpMode.this.getLogPrefix() + "run2 - after clearScript"); + } catch (Exception e2) { + RobotLog.e(BlocksOpMode.this.getLogPrefix() + "run2 - caught " + e2); + if (e2.getStackTrace() != null) { + RobotLog.logStackTrace(e2); + } + } + } + }); + if (interrupted) { + Thread.currentThread().interrupt(); + } + RuntimeException fatalException = fatalExceptionHolder.getAndSet(null); + if (fatalException != null) { + throw fatalException; + } + String fatalErrorMessage = fatalErrorMessageHolder.getAndSet(null); + if (fatalErrorMessage != null) { + RobotLog.setGlobalErrorMsg(fatalErrorMessage); + } + } finally { + long interruptedTime = this.interruptedTime.get(); + if (interruptedTime != 0) { + RobotLog.i(getLogPrefix() + "runOpMode - end - " + (System.currentTimeMillis() - interruptedTime) + "ms after InterruptedException"); + } else { + RobotLog.i(getLogPrefix() + "runOpMode - end - no InterruptedException"); + } + BlocksOpModeCompanion.opMode = null; + BlocksOpModeCompanion.linearOpMode = null; + } + } + + private void cleanUpPreviousBlocksOpMode() { + String name = nameOfOpModeLoadedIntoWebView.get(); + if (name != null) { + RobotLog.w(getLogPrefix() + "cleanUpPreviousBlocksOpMode - Warning: The Blocks runtime system is still loaded with the Blocks OpMode named " + name + "."); + RobotLog.w(getLogPrefix() + "cleanUpPreviousBlocksOpMode - Trying to clean up now."); + AppUtil.getInstance().synchronousRunOnUiThread(new Runnable() { // from class: com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode.3 + @Override // java.lang.Runnable + public void run() { + try { + RobotLog.w(BlocksOpMode.this.getLogPrefix() + "cleanUpPreviousBlocksOpMode run - before clearScript"); + BlocksOpMode.this.clearScript(); + RobotLog.w(BlocksOpMode.this.getLogPrefix() + "cleanUpPreviousBlocksOpMode run - after clearScript"); + } catch (Exception e) { + RobotLog.e(BlocksOpMode.this.getLogPrefix() + "cleanUpPreviousBlocksOpMode run - caught " + e); + if (e.getStackTrace() != null) { + RobotLog.logStackTrace(e); + } + } + } + }); + if (nameOfOpModeLoadedIntoWebView.get() != null) { + RobotLog.w(getLogPrefix() + "cleanUpPreviousBlocksOpMode - Clean up was successful."); + } else { + RobotLog.e(getLogPrefix() + "cleanUpPreviousBlocksOpMode - Error: Clean up failed."); + throw new RuntimeException("Unable to start running the Blocks OpMode named " + this.project + ". The Blocks runtime system is still loaded with the previous Blocks OpMode named " + name + ". Please restart the Robot Controller app."); + } + } + } + + private void addJavascriptInterfaces(HardwareItemMap hardwareItemMap, Set identifiersUsed) { + addJavascriptInterfacesForIdentifiers(); + addObsoleteJavascriptInterfaces(); + for (Identifier identifier : Identifier.values()) { + if (!javascriptInterfaces.containsKey(identifier.identifierForJavaScript)) { + throw new RuntimeException("There is no javascript interface for Identifier." + identifier); + } + } + addJavascriptInterfacesForHardware(hardwareItemMap, identifiersUsed); + for (Map.Entry entry : javascriptInterfaces.entrySet()) { + String identifier2 = entry.getKey(); + Access access = entry.getValue(); + webView.addJavascriptInterface(access, identifier2); + } + } + + private void addJavascriptInterface(String identifier, Access access) { + if (javascriptInterfaces.containsKey(identifier)) { + throw new RuntimeException("Duplicate identifier: " + identifier); + } + javascriptInterfaces.put(identifier, access); + } + + void addJavascriptInterfacesForIdentifiers() { + addJavascriptInterface(Identifier.ACCELERATION.identifierForJavaScript, new AccelerationAccess(this, Identifier.ACCELERATION.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANDROID_ACCELEROMETER.identifierForJavaScript, new AndroidAccelerometerAccess(this, Identifier.ANDROID_ACCELEROMETER.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANDROID_GYROSCOPE.identifierForJavaScript, new AndroidGyroscopeAccess(this, Identifier.ANDROID_GYROSCOPE.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANDROID_ORIENTATION.identifierForJavaScript, new AndroidOrientationAccess(this, Identifier.ANDROID_ORIENTATION.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANDROID_SOUND_POOL.identifierForJavaScript, new AndroidSoundPoolAccess(this, Identifier.ANDROID_SOUND_POOL.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANDROID_TEXT_TO_SPEECH.identifierForJavaScript, new AndroidTextToSpeechAccess(this, Identifier.ANDROID_TEXT_TO_SPEECH.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANDYMARK_IMU_ORIENTATION_ON_ROBOT.identifierForJavaScript, new AndyMarkIMUOrientationOnRobotAccess(this, Identifier.ANDYMARK_IMU_ORIENTATION_ON_ROBOT.identifierForJavaScript)); + addJavascriptInterface(Identifier.ANGULAR_VELOCITY.identifierForJavaScript, new AngularVelocityAccess(this, Identifier.ANGULAR_VELOCITY.identifierForJavaScript)); + addJavascriptInterface(Identifier.APRIL_TAG.identifierForJavaScript, new AprilTagAccess(this, Identifier.APRIL_TAG.identifierForJavaScript)); + addJavascriptInterface(Identifier.BLACKBOARD.identifierForJavaScript, new BlackboardAccess(this, Identifier.BLACKBOARD.identifierForJavaScript, OpMode.blackboard)); + addJavascriptInterface(Identifier.BLINKIN_PATTERN.identifierForJavaScript, new BlinkinPatternAccess(this, Identifier.BLINKIN_PATTERN.identifierForJavaScript)); + addJavascriptInterface(Identifier.BNO055IMU_PARAMETERS.identifierForJavaScript, new BNO055IMUParametersAccess(this, Identifier.BNO055IMU_PARAMETERS.identifierForJavaScript)); + addJavascriptInterface(Identifier.COLOR.identifierForJavaScript, new ColorAccess(this, Identifier.COLOR.identifierForJavaScript, activity)); + addJavascriptInterface(Identifier.COLOR_BLOB_LOCATOR.identifierForJavaScript, new ColorBlobLocatorAccess(this, Identifier.COLOR_BLOB_LOCATOR.identifierForJavaScript)); + addJavascriptInterface(Identifier.DBG_LOG.identifierForJavaScript, new DbgLogAccess(this, Identifier.DBG_LOG.identifierForJavaScript)); + addJavascriptInterface(Identifier.ELAPSED_TIME.identifierForJavaScript, new ElapsedTimeAccess(this, Identifier.ELAPSED_TIME.identifierForJavaScript)); + addJavascriptInterface(Identifier.EXPOSURE_CONTROL.identifierForJavaScript, new ExposureControlAccess(this, Identifier.EXPOSURE_CONTROL.identifierForJavaScript)); + addJavascriptInterface(Identifier.FOCUS_CONTROL.identifierForJavaScript, new FocusControlAccess(this, Identifier.FOCUS_CONTROL.identifierForJavaScript)); + addJavascriptInterface(Identifier.GAIN_CONTROL.identifierForJavaScript, new GainControlAccess(this, Identifier.GAIN_CONTROL.identifierForJavaScript)); + addJavascriptInterface(Identifier.GAMEPAD_1.identifierForJavaScript, new GamepadAccess(this, Identifier.GAMEPAD_1.identifierForJavaScript, this.gamepad1)); + addJavascriptInterface(Identifier.GAMEPAD_2.identifierForJavaScript, new GamepadAccess(this, Identifier.GAMEPAD_2.identifierForJavaScript, this.gamepad2)); + addJavascriptInterface(Identifier.IMU_PARAMETERS.identifierForJavaScript, new ImuParametersAccess(this, Identifier.IMU_PARAMETERS.identifierForJavaScript)); + addJavascriptInterface(Identifier.LED_EFFECT.identifierForJavaScript, new LedEffectAccess(this, Identifier.LED_EFFECT.identifierForJavaScript)); + addJavascriptInterface(Identifier.LL_RESULT.identifierForJavaScript, new LLResultAccess(this, Identifier.LL_RESULT.identifierForJavaScript)); + addJavascriptInterface(Identifier.LL_STATUS.identifierForJavaScript, new LLStatusAccess(this, Identifier.LL_STATUS.identifierForJavaScript)); + addJavascriptInterface(Identifier.LINEAR_OP_MODE.identifierForJavaScript, new LinearOpModeAccess(this, Identifier.LINEAR_OP_MODE.identifierForJavaScript, this.project)); + addJavascriptInterface(Identifier.MAGNETIC_FLUX.identifierForJavaScript, new MagneticFluxAccess(this, Identifier.MAGNETIC_FLUX.identifierForJavaScript)); + addJavascriptInterface(Identifier.MATRIX_F.identifierForJavaScript, new MatrixFAccess(this, Identifier.MATRIX_F.identifierForJavaScript)); + addJavascriptInterface(Identifier.MISC.identifierForJavaScript, new MiscAccess(this, Identifier.MISC.identifierForJavaScript, this.hardwareMap)); + addJavascriptInterface(Identifier.NAVIGATION.identifierForJavaScript, new NavigationAccess(this, Identifier.NAVIGATION.identifierForJavaScript, this.hardwareMap)); + addJavascriptInterface(Identifier.OPENCV.identifierForJavaScript, new OpencvAccess(this, Identifier.OPENCV.identifierForJavaScript)); + addJavascriptInterface(Identifier.OPEN_GL_MATRIX.identifierForJavaScript, new OpenGLMatrixAccess(this, Identifier.OPEN_GL_MATRIX.identifierForJavaScript)); + addJavascriptInterface(Identifier.ORIENTATION.identifierForJavaScript, new OrientationAccess(this, Identifier.ORIENTATION.identifierForJavaScript)); + addJavascriptInterface(Identifier.PIDF_COEFFICIENTS.identifierForJavaScript, new PIDFCoefficientsAccess(this, Identifier.PIDF_COEFFICIENTS.identifierForJavaScript)); + addJavascriptInterface(Identifier.POSE2D.identifierForJavaScript, new Pose2DAccess(this, Identifier.POSE2D.identifierForJavaScript)); + addJavascriptInterface(Identifier.POSITION.identifierForJavaScript, new PositionAccess(this, Identifier.POSITION.identifierForJavaScript)); + addJavascriptInterface(Identifier.PREDOMINANT_COLOR.identifierForJavaScript, new PredominantColorAccess(this, Identifier.PREDOMINANT_COLOR.identifierForJavaScript)); + addJavascriptInterface(Identifier.PTZ_CONTROL.identifierForJavaScript, new PtzControlAccess(this, Identifier.PTZ_CONTROL.identifierForJavaScript)); + addJavascriptInterface(Identifier.QUATERNION.identifierForJavaScript, new QuaternionAccess(this, Identifier.QUATERNION.identifierForJavaScript)); + addJavascriptInterface(Identifier.RANGE.identifierForJavaScript, new RangeAccess(this, Identifier.RANGE.identifierForJavaScript)); + addJavascriptInterface(Identifier.REV_HUB_ORIENTATION_ON_ROBOT.identifierForJavaScript, new RevHubOrientationOnRobotAccess(this, Identifier.REV_HUB_ORIENTATION_ON_ROBOT.identifierForJavaScript)); + addJavascriptInterface(Identifier.REV_9AXIS_IMU_ORIENTATION_ON_ROBOT.identifierForJavaScript, new Rev9AxisImuOrientationOnRobotAccess(this, Identifier.REV_9AXIS_IMU_ORIENTATION_ON_ROBOT.identifierForJavaScript)); + addJavascriptInterface(Identifier.RUMBLE_EFFECT.identifierForJavaScript, new RumbleEffectAccess(this, Identifier.RUMBLE_EFFECT.identifierForJavaScript)); + addJavascriptInterface(Identifier.SYSTEM.identifierForJavaScript, new SystemAccess(this, Identifier.SYSTEM.identifierForJavaScript)); + addJavascriptInterface(Identifier.TELEMETRY.identifierForJavaScript, new TelemetryAccess(this, Identifier.TELEMETRY.identifierForJavaScript, this.telemetry)); + addJavascriptInterface(Identifier.TEMPERATURE.identifierForJavaScript, new TemperatureAccess(this, Identifier.TEMPERATURE.identifierForJavaScript)); + addJavascriptInterface(Identifier.VECTOR_F.identifierForJavaScript, new VectorFAccess(this, Identifier.VECTOR_F.identifierForJavaScript)); + addJavascriptInterface(Identifier.VELOCITY.identifierForJavaScript, new VelocityAccess(this, Identifier.VELOCITY.identifierForJavaScript)); + addJavascriptInterface(Identifier.VISION_PORTAL.identifierForJavaScript, new VisionPortalAccess(this, Identifier.VISION_PORTAL.identifierForJavaScript, this.hardwareMap)); + addJavascriptInterface(Identifier.WHITE_BALANCE_CONTROL.identifierForJavaScript, new WhiteBalanceControlAccess(this, Identifier.WHITE_BALANCE_CONTROL.identifierForJavaScript)); + addJavascriptInterface(Identifier.YAW_PITCH_ROLL_ANGLES.identifierForJavaScript, new YawPitchRollAnglesAccess(this, Identifier.YAW_PITCH_ROLL_ANGLES.identifierForJavaScript)); + } + + void addObsoleteJavascriptInterfaces() { + addJavascriptInterface(Identifier.OBSOLETE_TENSOR_FLOW.identifierForJavaScript, new TensorFlowAccess(this, Identifier.OBSOLETE_TENSOR_FLOW.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_TFOD.identifierForJavaScript, new TfodAccess(this, Identifier.OBSOLETE_TFOD.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_TFOD_CURRENT_GAME.identifierForJavaScript, new TfodCurrentGameAccess(this, Identifier.OBSOLETE_TFOD_CURRENT_GAME.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_TFOD_CUSTOM_MODEL.identifierForJavaScript, new TfodCustomModelAccess(this, Identifier.OBSOLETE_TFOD_CUSTOM_MODEL.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_TFOD_ROVER_RUCKUS.identifierForJavaScript, new TfodRoverRuckusAccess(this, Identifier.OBSOLETE_TFOD_ROVER_RUCKUS.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_TFOD_SKY_STONE.identifierForJavaScript, new TfodSkyStoneAccess(this, Identifier.OBSOLETE_TFOD_SKY_STONE.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_CURRENT_GAME.identifierForJavaScript, new VuforiaCurrentGameAccess(this, Identifier.OBSOLETE_VUFORIA_CURRENT_GAME.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_RELIC_RECOVERY.identifierForJavaScript, new VuforiaRelicRecoveryAccess(this, Identifier.OBSOLETE_VUFORIA_RELIC_RECOVERY.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_ROVER_RUCKUS.identifierForJavaScript, new VuforiaRoverRuckusAccess(this, Identifier.OBSOLETE_VUFORIA_ROVER_RUCKUS.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_SKY_STONE.identifierForJavaScript, new VuforiaSkyStoneAccess(this, Identifier.OBSOLETE_VUFORIA_SKY_STONE.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_LOCALIZER.identifierForJavaScript, new VuforiaLocalizerAccess(this, Identifier.OBSOLETE_VUFORIA_LOCALIZER.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_LOCALIZER_PARAMETERS.identifierForJavaScript, new VuforiaLocalizerParametersAccess(this, Identifier.OBSOLETE_VUFORIA_LOCALIZER_PARAMETERS.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_TRACKABLE.identifierForJavaScript, new VuforiaTrackableAccess(this, Identifier.OBSOLETE_VUFORIA_TRACKABLE.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_TRACKABLE_DEFAULT_LISTENER.identifierForJavaScript, new VuforiaTrackableDefaultListenerAccess(this, Identifier.OBSOLETE_VUFORIA_TRACKABLE_DEFAULT_LISTENER.identifierForJavaScript)); + addJavascriptInterface(Identifier.OBSOLETE_VUFORIA_TRACKABLES.identifierForJavaScript, new VuforiaTrackablesAccess(this, Identifier.OBSOLETE_VUFORIA_TRACKABLES.identifierForJavaScript)); + } + + private void addJavascriptInterfacesForHardware(HardwareItemMap hardwareItemMap, Set identifiersUsed) { + for (HardwareType hardwareType : HardwareType.values()) { + if (hardwareItemMap.contains(hardwareType)) { + for (HardwareItem hardwareItem : hardwareItemMap.getHardwareItems(hardwareType)) { + if (identifiersUsed != null && !identifiersUsed.contains(hardwareItem.identifier)) { + RobotLog.i(getLogPrefix() + "Skipping hardware device named \"" + hardwareItem.deviceName + "\". It isn't used in this Blocks OpMode."); + } else if (javascriptInterfaces.containsKey(hardwareItem.identifier)) { + RobotLog.w(getLogPrefix() + "There is already a JavascriptInterface for identifier \"" + hardwareItem.identifier + "\". Ignoring hardware type " + hardwareType + "."); + } else { + Access access = HardwareAccess.newHardwareAccess(this, hardwareType, this.hardwareMap, hardwareItem); + if (access != null) { + javascriptInterfaces.put(hardwareItem.identifier, access); + } + } + } + } + } + } + + private void removeJavascriptInterfaces() { + Iterator> it = javascriptInterfaces.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry entry = it.next(); + String identifier = entry.getKey(); + Access access = entry.getValue(); + webView.removeJavascriptInterface(identifier); + access.close(); + it.remove(); + } + } + + private class BlocksOpModeAccess extends Access { + private final AtomicBoolean scriptFinished; + private final Object scriptFinishedLock; + + private BlocksOpModeAccess(String identifier, Object scriptFinishedLock, AtomicBoolean scriptFinished) { + super(BlocksOpMode.this, identifier, ""); + this.scriptFinishedLock = scriptFinishedLock; + this.scriptFinished = scriptFinished; + } + + @JavascriptInterface + public void scriptStarting() { + RobotLog.i(BlocksOpMode.this.getLogPrefix() + "scriptStarting"); + Thread.interrupted(); + BlocksOpMode.this.javaBridgeThread = Thread.currentThread(); + } + + @JavascriptInterface + public void caughtException(String message, String currentBlockLabel) { + String wrongImuErrorMessage; + if (BlocksOpMode.this.wasTerminated) { + return; + } + if (message != null) { + if (!message.startsWith("ReferenceError: ") || !message.endsWith(" is not defined")) { + if (BlocksOpMode.this.forceStopped) { + AppUtil.getInstance().showAlertDialog(UILocation.BOTH, "OpMode Force-Stopped", "User OpMode was stuck in stop(), but was able to be force stopped without restarting the app. Please make sure you are calling opModeInInit() or opModeIsActive() in any loops!"); + return; + } else if (currentBlockLabel == null || currentBlockLabel.isEmpty()) { + if (BlocksOpMode.this.currentBlockFinished) { + HB$$ExternalSyntheticBackportWithForwarding0.m(BlocksOpMode.fatalErrorMessageHolder, null, "Fatal error occurred after executing the block labeled \"" + BlocksOpMode.this.getFullBlockLabel() + "\". " + message); + } else { + HB$$ExternalSyntheticBackportWithForwarding0.m(BlocksOpMode.fatalErrorMessageHolder, null, "Fatal error occurred while executing the block labeled \"" + BlocksOpMode.this.getFullBlockLabel() + "\". " + message); + } + } else { + HB$$ExternalSyntheticBackportWithForwarding0.m(BlocksOpMode.fatalErrorMessageHolder, null, "Fatal error occurred while executing the block labeled \"" + currentBlockLabel + "\". " + message); + } + } else { + String missingIdentifier = message.substring(16, message.length() - 15); + String errorMessage = "Could not find identifier: " + missingIdentifier; + String missingHardwareDeviceName = BlocksOpMode.missingIdentifierToHardwareDeviceName(missingIdentifier); + if (missingHardwareDeviceName != null) { + errorMessage = "Could not find hardware device: " + missingHardwareDeviceName; + if (missingIdentifier.endsWith(HardwareType.BNO055IMU.identifierSuffixForJavaScript) && BlocksOpMode.this.hardwareMap.getAllNames(BNO055IMUImpl.class).isEmpty() && (wrongImuErrorMessage = getWrongImuErrorMessage()) != null) { + errorMessage = errorMessage + "\n\n" + wrongImuErrorMessage; + } + } + HB$$ExternalSyntheticBackportWithForwarding0.m(BlocksOpMode.fatalErrorMessageHolder, null, errorMessage); + return; + } + } + RobotLog.e(BlocksOpMode.this.getLogPrefix() + "caughtException - message is " + message); + } + + private String getWrongImuErrorMessage() { + LynxModule controlHub = (LynxModule) EmbeddedControlHubModule.get(); + if (controlHub != null) { + LynxModuleImuType controlHubImuType = controlHub.getImuType(); + if (controlHubImuType == LynxModuleImuType.BHI260) { + return "You attempted to use a BNO055 IMU on a Control Hub that contains a BHI260AP IMU. You need to update your OpMode to use the IMU blocks instead of the IMU-BNO055 blocks."; + } + return null; + } + return null; + } + + @JavascriptInterface + public void scriptFinished() { + RobotLog.i(BlocksOpMode.this.getLogPrefix() + "scriptFinished"); + synchronized (this.scriptFinishedLock) { + this.scriptFinished.set(true); + this.scriptFinishedLock.notifyAll(); + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public static String missingIdentifierToHardwareDeviceName(String identifier) { + for (HardwareType hardwareType : HardwareType.values()) { + if (identifier.endsWith(hardwareType.identifierSuffixForJavaScript)) { + return identifier.substring(0, identifier.length() - hardwareType.identifierSuffixForJavaScript.length()); + } + } + return null; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void loadScript() throws IOException { + RobotLog.i(getLogPrefix() + "loadScript - WebView user agent is \"" + webView.getSettings().getUserAgentString() + "\""); + nameOfOpModeLoadedIntoWebView.set(this.project); + HardwareItemMap hardwareItemMap = HardwareItemMap.newHardwareItemMap(this.hardwareMap); + Set identifiersUsed = null; + String jsFileContent = ProjectsUtil.fetchJsFileContent(this.project); + if (jsFileContent.startsWith(HardwareUtil.IDENTIFIERS_USED_PREFIX)) { + int eol = jsFileContent.indexOf("\n"); + identifiersUsed = new HashSet<>(Arrays.asList(jsFileContent.substring(HardwareUtil.IDENTIFIERS_USED_PREFIX.length(), eol).split(DocLint.TAGS_SEPARATOR))); + jsFileContent = jsFileContent.substring(eol); + } + addJavascriptInterfaces(hardwareItemMap, identifiersUsed); + String jsContent = HardwareUtil.upgradeJs(jsFileContent, hardwareItemMap); + StringBuilder html = new StringBuilder().append("\n"); + webView.loadDataWithBaseURL(null, html.toString(), NanoHTTPD.MIME_HTML, "UTF-8", null); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void clearScript() { + removeJavascriptInterfaces(); + if (!javascriptInterfaces.isEmpty()) { + RobotLog.w(getLogPrefix() + "clearScript - Warning: javascriptInterfaces is not empty."); + } + javascriptInterfaces.clear(); + webView.loadDataWithBaseURL(null, "", NanoHTTPD.MIME_HTML, "UTF-8", null); + nameOfOpModeLoadedIntoWebView.set(null); + } + + public static void setActivityAndWebView(Activity a, WebView wv) { + if (activity == null && webView == null) { + addOpModeRegistrar(); + } + activity = a; + webView = wv; + webView.getSettings().setJavaScriptEnabled(true); + webView.setWebChromeClient(new WebChromeClient() { // from class: com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode.4 + @Override // android.webkit.WebChromeClient + public boolean onConsoleMessage(ConsoleMessage consoleMessage) { + return false; + } + }); + } + + private static void addOpModeRegistrar() { + RegisteredOpModes.getInstance().addInstanceOpModeRegistrar(new InstanceOpModeRegistrar() { // from class: com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode.5 + @Override // org.firstinspires.ftc.robotcore.internal.opmode.InstanceOpModeRegistrar + public void register(InstanceOpModeManager manager) { + try { + List projects = ProjectsUtil.fetchEnabledProjectsWithJavaScript(); + for (OpModeMeta opModeMeta : projects) { + manager.register(opModeMeta, new BlocksOpMode(opModeMeta.name)); + } + } catch (Exception e) { + RobotLog.logStackTrace(e); + } + } + }); + } + + @Deprecated + public static void registerAll(OpModeManager manager) { + RobotLog.w(BlocksOpMode.class.getSimpleName(), "registerAll(OpModeManager) is deprecated and will be removed soon, as calling it is unnecessary in this and future API version"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CRServoAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CRServoAccess.java new file mode 100644 index 000000000000..77d595a00a87 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CRServoAccess.java @@ -0,0 +1,138 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.CRServo; +import com.qualcomm.robotcore.hardware.CRServoImplEx; +import com.qualcomm.robotcore.hardware.DcMotorSimple; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.PwmControl; + +/* JADX INFO: loaded from: classes8.dex */ +class CRServoAccess extends HardwareAccess { + private final CRServoImplEx crServo; + + CRServoAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, CRServoImplEx.class); + this.crServo = (CRServoImplEx) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {CRServo.class}, methodName = {"setDirection"}) + public void setDirection(String directionString) { + try { + startBlockExecution(BlockType.SETTER, ".Direction"); + DcMotorSimple.Direction direction = (DcMotorSimple.Direction) checkArg(directionString, DcMotorSimple.Direction.class, ""); + if (direction != null) { + this.crServo.setDirection(direction); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {CRServo.class}, methodName = {"getDirection"}) + public String getDirection() { + try { + startBlockExecution(BlockType.GETTER, ".Direction"); + DcMotorSimple.Direction direction = this.crServo.getDirection(); + if (direction != null) { + return direction.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {CRServo.class}, methodName = {"setPower"}) + public void setPower(double power) { + try { + startBlockExecution(BlockType.SETTER, ".Power"); + this.crServo.setPower(power); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {CRServo.class}, methodName = {"getPower"}) + public double getPower() { + try { + startBlockExecution(BlockType.GETTER, ".Power"); + return this.crServo.getPower(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PwmControl.class}, methodName = {"setPwmEnable"}) + public void setPwmEnable() { + try { + startBlockExecution(BlockType.FUNCTION, ".setPwmEnable"); + this.crServo.setPwmEnable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PwmControl.class}, methodName = {"setPwmDisable"}) + public void setPwmDisable() { + try { + startBlockExecution(BlockType.FUNCTION, ".setPwmDisable"); + this.crServo.setPwmDisable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PwmControl.class}, methodName = {"isPwmEnabled"}) + public boolean isPwmEnabled() { + try { + startBlockExecution(BlockType.FUNCTION, ".isPwmEnabled"); + return this.crServo.isPwmEnabled(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorAccess.java new file mode 100644 index 000000000000..ebaeba85d74e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorAccess.java @@ -0,0 +1,273 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.app.Activity; +import android.graphics.Color; +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.JavaUtil; + +/* JADX INFO: loaded from: classes8.dex */ +class ColorAccess extends Access { + private final Activity activity; + + ColorAccess(BlocksOpMode blocksOpMode, String identifier, Activity activity) { + super(blocksOpMode, identifier, "Color"); + this.activity = activity; + } + + @JavascriptInterface + public double getRed(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Red"); + return Color.red(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getGreen(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Green"); + return Color.green(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getBlue(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Blue"); + return Color.blue(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public double getAlpha(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Alpha"); + return Color.alpha(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getHue(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Hue"); + return JavaUtil.colorToHue(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getSaturation(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Saturation"); + return JavaUtil.colorToSaturation(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float getValue(int color) { + try { + startBlockExecution(BlockType.GETTER, ".Value"); + return JavaUtil.colorToValue(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public int rgbToColor(int red, int green, int blue) { + try { + startBlockExecution(BlockType.FUNCTION, ".rgbToColor"); + return Color.rgb(red, green, blue); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public int argbToColor(int alpha, int red, int green, int blue) { + try { + startBlockExecution(BlockType.FUNCTION, ".argbToColor"); + return Color.argb(alpha, red, green, blue); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public int hsvToColor(float hue, float saturation, float value) { + try { + startBlockExecution(BlockType.FUNCTION, ".hsvToColor"); + float[] array = {hue, saturation, value}; + return Color.HSVToColor(array); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public int ahsvToColor(int alpha, float hue, float saturation, float value) { + try { + startBlockExecution(BlockType.FUNCTION, ".ahsvToColor"); + float[] array = {hue, saturation, value}; + return Color.HSVToColor(alpha, array); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public int textToColor(String text) { + try { + startBlockExecution(BlockType.FUNCTION, ".textToColor"); + return Color.parseColor(text); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float rgbToHue(int red, int green, int blue) { + try { + startBlockExecution(BlockType.FUNCTION, ".rgbToHue"); + return JavaUtil.rgbToHue(red, green, blue); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float rgbToSaturation(int red, int green, int blue) { + try { + startBlockExecution(BlockType.FUNCTION, ".rgbToSaturation"); + return JavaUtil.rgbToSaturation(red, green, blue); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public float rgbToValue(int red, int green, int blue) { + try { + startBlockExecution(BlockType.FUNCTION, ".rgbToValue"); + return JavaUtil.rgbToValue(red, green, blue); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public String toText(int color) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + return JavaUtil.colorToText(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void showColor(int color) { + try { + startBlockExecution(BlockType.FUNCTION, ".showColor"); + JavaUtil.showColor(this.activity, color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorBlobLocatorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorBlobLocatorAccess.java new file mode 100644 index 000000000000..7839ec2b6d32 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorBlobLocatorAccess.java @@ -0,0 +1,515 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.util.RobotLog; +import com.qualcomm.robotcore.util.SortOrder; +import com.sun.tools.doclint.DocLint; +import java.util.List; +import org.firstinspires.ftc.vision.opencv.Circle; +import org.firstinspires.ftc.vision.opencv.ColorBlobLocatorProcessor; +import org.firstinspires.ftc.vision.opencv.ColorRange; +import org.firstinspires.ftc.vision.opencv.ImageRegion; +import org.opencv.core.Point; +import org.opencv.core.RotatedRect; + +/* JADX INFO: loaded from: classes8.dex */ +class ColorBlobLocatorAccess extends Access { + ColorBlobLocatorAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, ""); + } + + private ColorBlobLocatorProcessor.Builder checkColorBlobLocatorProcessorBuilder(Object colorBlobLocatorProcessorBuilderArg) { + return (ColorBlobLocatorProcessor.Builder) checkArg(colorBlobLocatorProcessorBuilderArg, ColorBlobLocatorProcessor.Builder.class, "colorBlobLocatorProcessorBuilder"); + } + + private ColorRange checkColorRange(Object colorRangeArg) { + return (ColorRange) checkArg(colorRangeArg, ColorRange.class, "colorRange"); + } + + private ColorBlobLocatorProcessor.ContourMode checkContourMode(String contourModeString) { + return (ColorBlobLocatorProcessor.ContourMode) checkArg(contourModeString, ColorBlobLocatorProcessor.ContourMode.class, "contourMode"); + } + + private ColorBlobLocatorProcessor.MorphOperationType checkMorphOperationType(String morphOperationTypeString) { + return (ColorBlobLocatorProcessor.MorphOperationType) checkArg(morphOperationTypeString, ColorBlobLocatorProcessor.MorphOperationType.class, "morphOperationType"); + } + + private ColorBlobLocatorProcessor checkColorBlobLocatorProcessor(Object colorBlobLocatorProcessorArg) { + return (ColorBlobLocatorProcessor) checkArg(colorBlobLocatorProcessorArg, ColorBlobLocatorProcessor.class, "colorBlobLocatorProcessor"); + } + + private ColorBlobLocatorProcessor.BlobCriteria checkBlobCriteria(String criteriaString) { + return (ColorBlobLocatorProcessor.BlobCriteria) checkArg(criteriaString, ColorBlobLocatorProcessor.BlobCriteria.class, "criteria"); + } + + private ColorBlobLocatorProcessor.BlobFilter checkBlobFilter(Object filterArg) { + return (ColorBlobLocatorProcessor.BlobFilter) checkArg(filterArg, ColorBlobLocatorProcessor.BlobFilter.class, "filter"); + } + + private ColorBlobLocatorProcessor.BlobSort checkBlobSort(Object sortArg) { + return (ColorBlobLocatorProcessor.BlobSort) checkArg(sortArg, ColorBlobLocatorProcessor.BlobSort.class, "sort"); + } + + private SortOrder checkSortOrder(String sortOrderString) { + return (SortOrder) checkArg(sortOrderString, SortOrder.class, "sortOrder"); + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, constructor = true) + public ColorBlobLocatorProcessor.Builder createColorBlobLocatorProcessorBuilder() { + try { + startBlockExecution(BlockType.CREATE, "ColorBlobLocatorProcessor.Builder", ""); + return new ColorBlobLocatorProcessor.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setDrawContours"}) + public void setDrawContours(Object colorBlobLocatorProcessorBuilderArg, boolean drawContours) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setDrawContours"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setDrawContours(drawContours); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setBoxFitColor"}) + public void setBoxFitColor(Object colorBlobLocatorProcessorBuilderArg, int color) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setBoxFitColor"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setBoxFitColor(color); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setCircleFitColor"}) + public void setCircleFitColor(Object colorBlobLocatorProcessorBuilderArg, int color) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setCircleFitColor"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setCircleFitColor(color); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setRoiColor"}) + public void setRoiColor(Object colorBlobLocatorProcessorBuilderArg, int color) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setRoiColor"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setRoiColor(color); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setContourColor"}) + public void setContourColor(Object colorBlobLocatorProcessorBuilderArg, int color) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setContourColor"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setContourColor(color); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setTargetColorRange"}) + public void setTargetColorRange(Object colorBlobLocatorProcessorBuilderArg, Object colorRangeArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setTargetColorRange"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + ColorRange colorRange = checkColorRange(colorRangeArg); + if (colorBlobLocatorProcessorBuilder != null && colorRange != null) { + colorBlobLocatorProcessorBuilder.setTargetColorRange(colorRange); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setContourMode"}) + public void setContourMode(Object colorBlobLocatorProcessorBuilderArg, String contourModeString) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setContourMode"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + ColorBlobLocatorProcessor.ContourMode contourMode = checkContourMode(contourModeString); + if (colorBlobLocatorProcessorBuilder != null && contourMode != null) { + colorBlobLocatorProcessorBuilder.setContourMode(contourMode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setRoi"}) + public void setRoi(Object colorBlobLocatorProcessorBuilderArg, Object imageRegionArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setRoi"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + ImageRegion imageRegion = checkImageRegion(imageRegionArg); + if (colorBlobLocatorProcessorBuilder != null && imageRegion != null) { + colorBlobLocatorProcessorBuilder.setRoi(imageRegion); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setBlurSize"}) + public void setBlurSize(Object colorBlobLocatorProcessorBuilderArg, int blurSize) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setBlurSize"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setBlurSize(blurSize); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setMorphOperationType"}) + public void setMorphOperationType(Object colorBlobLocatorProcessorBuilderArg, String morphOperationTypeString) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setMorphOperationType"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + ColorBlobLocatorProcessor.MorphOperationType morphOperationType = checkMorphOperationType(morphOperationTypeString); + if (colorBlobLocatorProcessorBuilder != null && morphOperationType != null) { + colorBlobLocatorProcessorBuilder.setMorphOperationType(morphOperationType); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setErodeSize"}) + public void setErodeSize(Object colorBlobLocatorProcessorBuilderArg, int erodeSize) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setErodeSize"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setErodeSize(erodeSize); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"setDilateSize"}) + public void setDilateSize(Object colorBlobLocatorProcessorBuilderArg, int dilateSize) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".setDilateSize"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + colorBlobLocatorProcessorBuilder.setDilateSize(dilateSize); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.Builder.class}, methodName = {"build"}) + public ColorBlobLocatorProcessor buildColorBlobLocatorProcessor(Object colorBlobLocatorProcessorBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor.Builder", ".build"); + ColorBlobLocatorProcessor.Builder colorBlobLocatorProcessorBuilder = checkColorBlobLocatorProcessorBuilder(colorBlobLocatorProcessorBuilderArg); + if (colorBlobLocatorProcessorBuilder != null) { + return colorBlobLocatorProcessorBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.BlobFilter.class}, constructor = true) + public ColorBlobLocatorProcessor.BlobFilter createColorBlobLocatorProcessorBlobFilter(String criteriaString, double minValue, double maxValue) { + try { + startBlockExecution(BlockType.CREATE, ""); + ColorBlobLocatorProcessor.BlobCriteria criteria = checkBlobCriteria(criteriaString); + if (criteria != null) { + return new ColorBlobLocatorProcessor.BlobFilter(criteria, minValue, maxValue); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.class}, methodName = {"addFilter"}) + public void addFilter(Object colorBlobLocatorProcessorArg, Object filterArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor", ".addFilter"); + ColorBlobLocatorProcessor colorBlobLocatorProcessor = checkColorBlobLocatorProcessor(colorBlobLocatorProcessorArg); + ColorBlobLocatorProcessor.BlobFilter filter = checkBlobFilter(filterArg); + if (colorBlobLocatorProcessor != null && filter != null) { + colorBlobLocatorProcessor.addFilter(filter); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.class}, methodName = {"removeFilter"}) + public void removeFilter(Object colorBlobLocatorProcessorArg, Object filterArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor", ".removeFilter"); + ColorBlobLocatorProcessor colorBlobLocatorProcessor = checkColorBlobLocatorProcessor(colorBlobLocatorProcessorArg); + ColorBlobLocatorProcessor.BlobFilter filter = checkBlobFilter(filterArg); + if (colorBlobLocatorProcessor != null && filter != null) { + colorBlobLocatorProcessor.removeFilter(filter); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.class}, methodName = {"removeAllFilters"}) + public void removeAllFilters(Object colorBlobLocatorProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor", ".removeAllFilters"); + ColorBlobLocatorProcessor colorBlobLocatorProcessor = checkColorBlobLocatorProcessor(colorBlobLocatorProcessorArg); + if (colorBlobLocatorProcessor != null) { + colorBlobLocatorProcessor.removeAllFilters(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.BlobSort.class}, constructor = true) + public ColorBlobLocatorProcessor.BlobSort createColorBlobLocatorProcessorBlobSort(String criteriaString, String sortOrderString) { + try { + startBlockExecution(BlockType.CREATE, ""); + ColorBlobLocatorProcessor.BlobCriteria criteria = checkBlobCriteria(criteriaString); + SortOrder sortOrder = checkSortOrder(sortOrderString); + if (criteria != null && sortOrder != null) { + return new ColorBlobLocatorProcessor.BlobSort(criteria, sortOrder); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.class}, methodName = {"setSort"}) + public void setSort(Object colorBlobLocatorProcessorArg, Object sortArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor", ".setSort"); + ColorBlobLocatorProcessor colorBlobLocatorProcessor = checkColorBlobLocatorProcessor(colorBlobLocatorProcessorArg); + ColorBlobLocatorProcessor.BlobSort sort = checkBlobSort(sortArg); + if (colorBlobLocatorProcessor != null && sort != null) { + colorBlobLocatorProcessor.setSort(sort); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorBlobLocatorProcessor.class}, methodName = {"getBlobs"}) + public String getBlobs(Object colorBlobLocatorProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "ColorBlobLocatorProcessor", ".getBlobs"); + ColorBlobLocatorProcessor colorBlobLocatorProcessor = checkColorBlobLocatorProcessor(colorBlobLocatorProcessorArg); + if (colorBlobLocatorProcessor != null) { + return blobsToJson(colorBlobLocatorProcessor.getBlobs()); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + private static String blobsToJson(List blobs) { + StringBuilder json = new StringBuilder(); + json.append("["); + String delimiter = ""; + for (ColorBlobLocatorProcessor.Blob blob : blobs) { + double density = LynxServoController.apiPositionFirst; + try { + density = blob.getDensity(); + } catch (Exception e) { + } + double aspectRatio = LynxServoController.apiPositionFirst; + try { + aspectRatio = blob.getAspectRatio(); + } catch (Exception e2) { + } + json.append(delimiter).append("{").append("\"ContourPoints\":").append(toJson(blob.getContourPoints())).append(DocLint.TAGS_SEPARATOR).append("\"ContourArea\":").append(blob.getContourArea()).append(DocLint.TAGS_SEPARATOR).append("\"Density\":").append(fixDouble(density)).append(DocLint.TAGS_SEPARATOR).append("\"AspectRatio\":").append(fixDouble(aspectRatio)).append(DocLint.TAGS_SEPARATOR).append("\"BoxFit\":").append(rotatedRectToJson(blob.getBoxFit())).append(DocLint.TAGS_SEPARATOR).append("\"ArcLength\":").append(fixDouble(blob.getArcLength())).append(DocLint.TAGS_SEPARATOR).append("\"Circularity\":").append(fixDouble(blob.getCircularity())).append(DocLint.TAGS_SEPARATOR).append("\"Circle\":").append(circleToJson(blob.getCircle())).append("}"); + delimiter = DocLint.TAGS_SEPARATOR; + } + json.append("]"); + return json.toString(); + } + + private static String rotatedRectToJson(RotatedRect rotatedRect) { + String originalJson = toJson(rotatedRect); + if (!originalJson.endsWith("}")) { + RobotLog.ww("ColorBlobLocatorAccess", "Unexpected: result from toJson(RotatedRect) does not end with '}'!"); + return originalJson; + } + Point[] points = new Point[4]; + rotatedRect.points(points); + String json = originalJson.substring(0, originalJson.length() - 1) + DocLint.TAGS_SEPARATOR + "\"boundingRect\":" + toJson(rotatedRect.boundingRect()) + DocLint.TAGS_SEPARATOR + "\"points\":" + toJson(points) + "}"; + return json; + } + + private static String circleToJson(Circle circle) { + String json = "{\"Center\":" + toJson(circle.getCenter()) + DocLint.TAGS_SEPARATOR + "\"Radius\":" + circle.getRadius() + DocLint.TAGS_SEPARATOR + "\"X\":" + circle.getX() + DocLint.TAGS_SEPARATOR + "\"Y\":" + circle.getY() + "}"; + return json; + } + + private static double fixDouble(double v) { + if (Double.isFinite(v)) { + return v; + } + return LynxServoController.apiPositionFirst; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorRangeSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorRangeSensorAccess.java new file mode 100644 index 000000000000..290cdbce041e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorRangeSensorAccess.java @@ -0,0 +1,294 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxI2cColorRangeSensor; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.hardware.rev.RevColorSensorV3; +import com.qualcomm.robotcore.hardware.ColorRangeSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.NormalizedRGBA; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class ColorRangeSensorAccess extends HardwareAccess { + private final ColorRangeSensor colorRangeSensor; + + ColorRangeSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, ColorRangeSensor.class); + this.colorRangeSensor = (ColorRangeSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"red"}) + public int getRed() { + try { + startBlockExecution(BlockType.GETTER, ".Red"); + return this.colorRangeSensor.red(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"green"}) + public int getGreen() { + try { + startBlockExecution(BlockType.GETTER, ".Green"); + return this.colorRangeSensor.green(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"blue"}) + public int getBlue() { + try { + startBlockExecution(BlockType.GETTER, ".Blue"); + return this.colorRangeSensor.blue(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"alpha"}) + public int getAlpha() { + try { + startBlockExecution(BlockType.GETTER, ".Alpha"); + return this.colorRangeSensor.alpha(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"argb"}) + public int getArgb() { + try { + startBlockExecution(BlockType.GETTER, ".Argb"); + return this.colorRangeSensor.argb(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.colorRangeSensor.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.colorRangeSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.colorRangeSensor.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.colorRangeSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getLightDetected"}) + public double getLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".LightDetected"); + return this.colorRangeSensor.getLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getRawLightDetected"}) + public double getRawLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetected"); + return this.colorRangeSensor.getRawLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getRawLightDetectedMax"}) + public double getRawLightDetectedMax() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetectedMax"); + return this.colorRangeSensor.getRawLightDetectedMax(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getDistance"}) + public double getDistance(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistance"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "unit"); + if (distanceUnit != null) { + return this.colorRangeSensor.getDistance(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getNormalizedColors"}) + public String getNormalizedColors() { + try { + startBlockExecution(BlockType.FUNCTION, ".getNormalizedColors"); + NormalizedRGBA color = this.colorRangeSensor.getNormalizedColors(); + return "{ \"Red\":" + color.red + ", \"Green\":" + color.green + ", \"Blue\":" + color.blue + ", \"Alpha\":" + color.alpha + ", \"Color\":" + color.toColor() + " }"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"setGain"}) + public void setGain(float gain) { + try { + startBlockExecution(BlockType.SETTER, ".Gain"); + this.colorRangeSensor.setGain(gain); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRangeSensor.class, LynxI2cColorRangeSensor.class, RevColorSensorV3.class}, methodName = {"getGain"}) + public float getGain() { + try { + startBlockExecution(BlockType.GETTER, ".Gain"); + return this.colorRangeSensor.getGain(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorSensorAccess.java new file mode 100644 index 000000000000..a0a9b01a6592 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ColorSensorAccess.java @@ -0,0 +1,308 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.adafruit.AdafruitI2cColorSensor; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cColorSensor; +import com.qualcomm.robotcore.hardware.ColorSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.Light; +import com.qualcomm.robotcore.hardware.NormalizedColorSensor; +import com.qualcomm.robotcore.hardware.NormalizedRGBA; +import com.qualcomm.robotcore.hardware.SwitchableLight; + +/* JADX INFO: loaded from: classes8.dex */ +class ColorSensorAccess extends HardwareAccess { + private final ColorSensor colorSensor; + + ColorSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, ColorSensor.class); + this.colorSensor = (ColorSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"red"}) + public int getRed() { + try { + startBlockExecution(BlockType.GETTER, ".Red"); + return this.colorSensor.red(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"green"}) + public int getGreen() { + try { + startBlockExecution(BlockType.GETTER, ".Green"); + return this.colorSensor.green(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"blue"}) + public int getBlue() { + try { + startBlockExecution(BlockType.GETTER, ".Blue"); + return this.colorSensor.blue(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"alpha"}) + public int getAlpha() { + try { + startBlockExecution(BlockType.GETTER, ".Alpha"); + return this.colorSensor.alpha(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"argb"}) + public int getArgb() { + try { + startBlockExecution(BlockType.GETTER, ".Argb"); + return this.colorSensor.argb(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"enableLed"}) + public void enableLed(boolean enable) { + try { + startBlockExecution(BlockType.FUNCTION, ".enableLed"); + this.colorSensor.enableLed(enable); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cColorSensor.class}, methodName = {"enableLight"}) + public void enableLight(boolean enable) { + try { + startBlockExecution(BlockType.FUNCTION, ".enableLight"); + if (this.colorSensor instanceof SwitchableLight) { + ((SwitchableLight) this.colorSensor).enableLight(enable); + } else { + reportWarning("This ColorSensor is not a SwitchableLight."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, Light.class, ModernRoboticsI2cColorSensor.class}, methodName = {"isLightOn"}) + public boolean isLightOn() { + try { + startBlockExecution(BlockType.FUNCTION, ".isLightOn"); + if (this.colorSensor instanceof Light) { + return ((Light) this.colorSensor).isLightOn(); + } + reportWarning("This ColorSensor is not a Light."); + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.colorSensor.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.colorSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.colorSensor.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.colorSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ModernRoboticsI2cColorSensor.class}, methodName = {"toString"}) + public String toText() { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + return this.colorSensor.toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ModernRoboticsI2cColorSensor.class, NormalizedColorSensor.class}, methodName = {"getNormalizedColors"}) + public String getNormalizedColors() { + try { + startBlockExecution(BlockType.FUNCTION, ".getNormalizedColors"); + if (this.colorSensor instanceof NormalizedColorSensor) { + NormalizedRGBA color = ((NormalizedColorSensor) this.colorSensor).getNormalizedColors(); + return "{ \"Red\":" + color.red + ", \"Green\":" + color.green + ", \"Blue\":" + color.blue + ", \"Alpha\":" + color.alpha + ", \"Color\":" + color.toColor() + " }"; + } + return "{ \"Red\":0, \"Green\":0, \"Blue\":0, \"Alpha\":0, \"Color\":0 }"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ModernRoboticsI2cColorSensor.class, NormalizedColorSensor.class}, methodName = {"setGain"}) + public void setGain(float gain) { + try { + startBlockExecution(BlockType.SETTER, ".Gain"); + if (this.colorSensor instanceof NormalizedColorSensor) { + ((NormalizedColorSensor) this.colorSensor).setGain(gain); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AdafruitI2cColorSensor.class, ModernRoboticsI2cColorSensor.class, NormalizedColorSensor.class}, methodName = {"getGain"}) + public float getGain() { + try { + startBlockExecution(BlockType.GETTER, ".Gain"); + if (this.colorSensor instanceof NormalizedColorSensor) { + return ((NormalizedColorSensor) this.colorSensor).getGain(); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CompassSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CompassSensorAccess.java new file mode 100644 index 000000000000..2f8a23bda48a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/CompassSensorAccess.java @@ -0,0 +1,67 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.CompassSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; + +/* JADX INFO: loaded from: classes8.dex */ +class CompassSensorAccess extends HardwareAccess { + private final CompassSensor compassSensor; + + CompassSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, CompassSensor.class); + this.compassSensor = (CompassSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {CompassSensor.class}, methodName = {"getDirection"}) + public double getDirection() { + try { + startBlockExecution(BlockType.GETTER, ".Direction"); + return this.compassSensor.getDirection(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {CompassSensor.class}, methodName = {"calibrationFailed"}) + public boolean getCalibrationFailed() { + try { + startBlockExecution(BlockType.GETTER, ".CalibrationFailed"); + return this.compassSensor.calibrationFailed(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {CompassSensor.class}, methodName = {"setMode"}) + public void setMode(String compassModeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".Mode"); + CompassSensor.CompassMode compassMode = (CompassSensor.CompassMode) checkArg(compassModeString, CompassSensor.CompassMode.class, "compassMode"); + if (compassMode != null) { + this.compassSensor.setMode(compassMode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DbgLogAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DbgLogAccess.java new file mode 100644 index 000000000000..c49ac12d0d21 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DbgLogAccess.java @@ -0,0 +1,43 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.util.RobotLog; + +/* JADX INFO: loaded from: classes8.dex */ +class DbgLogAccess extends Access { + public static final String TAG = "DbgLog"; + + DbgLogAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, TAG); + } + + @JavascriptInterface + public void msg(String message) { + try { + startBlockExecution(BlockType.FUNCTION, ".msg"); + RobotLog.ii(TAG, message); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public void error(String message) { + try { + startBlockExecution(BlockType.FUNCTION, ".error"); + RobotLog.ee(TAG, message); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DcMotorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DcMotorAccess.java new file mode 100644 index 000000000000..3596406c9677 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DcMotorAccess.java @@ -0,0 +1,801 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.DcMotor; +import com.qualcomm.robotcore.hardware.DcMotorEx; +import com.qualcomm.robotcore.hardware.DcMotorSimple; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.PIDFCoefficients; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.CurrentUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class DcMotorAccess extends HardwareAccess { + private final DcMotor dcMotor; + + DcMotorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, DcMotor.class); + this.dcMotor = (DcMotor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setDirection"}) + public void setDirection(String directionString) { + try { + startBlockExecution(BlockType.SETTER, ".Direction"); + DcMotorSimple.Direction direction = (DcMotorSimple.Direction) checkArg(directionString, DcMotorSimple.Direction.class, ""); + if (direction != null) { + this.dcMotor.setDirection(direction); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getDirection"}) + public String getDirection() { + try { + startBlockExecution(BlockType.GETTER, ".Direction"); + DcMotorSimple.Direction direction = this.dcMotor.getDirection(); + if (direction != null) { + return direction.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setPower"}) + public void setPower(double power) { + try { + startBlockExecution(BlockType.SETTER, ".Power"); + this.dcMotor.setPower(power); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getPower"}) + public double getPower() { + try { + startBlockExecution(BlockType.GETTER, ".Power"); + return this.dcMotor.getPower(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Deprecated + public void setMaxSpeed(double maxSpeed) { + try { + startBlockExecution(BlockType.SETTER, ".MaxSpeed"); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Deprecated + public int getMaxSpeed() { + try { + startBlockExecution(BlockType.GETTER, ".MaxSpeed"); + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } catch (Throwable e2) { + endBlockExecution(); + throw e2; + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setZeroPowerBehavior"}) + public void setZeroPowerBehavior(String zeroPowerBehaviorString) { + try { + startBlockExecution(BlockType.SETTER, ".ZeroPowerBehavior"); + DcMotor.ZeroPowerBehavior zeroPowerBehavior = (DcMotor.ZeroPowerBehavior) checkArg(zeroPowerBehaviorString, DcMotor.ZeroPowerBehavior.class, ""); + if (zeroPowerBehavior != null) { + this.dcMotor.setZeroPowerBehavior(zeroPowerBehavior); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getZeroPowerBehavior"}) + public String getZeroPowerBehavior() { + try { + startBlockExecution(BlockType.GETTER, ".ZeroPowerBehavior"); + DcMotor.ZeroPowerBehavior zeroPowerBehavior = this.dcMotor.getZeroPowerBehavior(); + if (zeroPowerBehavior != null) { + return zeroPowerBehavior.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getPowerFloat"}) + public boolean getPowerFloat() { + try { + startBlockExecution(BlockType.GETTER, ".PowerFloat"); + return this.dcMotor.getPowerFloat(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setTargetPosition"}) + public void setTargetPosition(double position) { + try { + startBlockExecution(BlockType.SETTER, ".TargetPosition"); + this.dcMotor.setTargetPosition((int) position); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getTargetPosition"}) + public int getTargetPosition() { + try { + startBlockExecution(BlockType.GETTER, ".TargetPosition"); + return this.dcMotor.getTargetPosition(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"isBusy"}) + public boolean isBusy() { + try { + startBlockExecution(BlockType.FUNCTION, ".isBusy"); + return this.dcMotor.isBusy(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getCurrentPosition"}) + public int getCurrentPosition() { + try { + startBlockExecution(BlockType.GETTER, ".CurrentPosition"); + return this.dcMotor.getCurrentPosition(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setMode"}) + public void setMode(String runModeString) { + try { + startBlockExecution(BlockType.SETTER, ".Mode"); + DcMotor.RunMode runMode = (DcMotor.RunMode) checkArg(runModeString, DcMotor.RunMode.class, ""); + if (runMode != null) { + this.dcMotor.setMode(runMode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"getMode"}) + public String getMode() { + try { + startBlockExecution(BlockType.GETTER, ".Mode"); + DcMotor.RunMode runMode = this.dcMotor.getMode(); + if (runMode != null) { + return runMode.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Deprecated + public void setDualMaxSpeed(double maxSpeed1, Object otherArg, double maxSpeed2) { + try { + startBlockExecution(BlockType.SETTER, ".MaxSpeed"); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setMode"}) + public void setDualMode(String runMode1String, Object otherArg, String runMode2String) { + try { + startBlockExecution(BlockType.SETTER, ".Mode"); + DcMotor.RunMode runMode1 = (DcMotor.RunMode) checkArg(runMode1String, DcMotor.RunMode.class, "first"); + DcMotor.RunMode runMode2 = (DcMotor.RunMode) checkArg(runMode2String, DcMotor.RunMode.class, "second"); + if (runMode1 != null && runMode2 != null && (otherArg instanceof DcMotorAccess)) { + DcMotorAccess other = (DcMotorAccess) otherArg; + this.dcMotor.setMode(runMode1); + other.dcMotor.setMode(runMode2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setPower"}) + public void setDualPower(double power1, Object otherArg, double power2) { + try { + startBlockExecution(BlockType.SETTER, ".Power"); + if (otherArg instanceof DcMotorAccess) { + DcMotorAccess other = (DcMotorAccess) otherArg; + this.dcMotor.setPower(power1); + other.dcMotor.setPower(power2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setTargetPosition"}) + public void setDualTargetPosition(double position1, Object otherArg, double position2) { + try { + startBlockExecution(BlockType.SETTER, ".TargetPosition"); + if (otherArg instanceof DcMotorAccess) { + DcMotorAccess other = (DcMotorAccess) otherArg; + this.dcMotor.setTargetPosition((int) position1); + other.dcMotor.setTargetPosition((int) position2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setTargetPositionTolerance"}) + public void setDualTargetPositionTolerance(double tolerance1, Object otherArg, double tolerance2) { + try { + startBlockExecution(BlockType.SETTER, ".TargetPositionTolerance"); + if (otherArg instanceof DcMotorAccess) { + DcMotorAccess other = (DcMotorAccess) otherArg; + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setTargetPositionTolerance((int) tolerance1); + } + if (other.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) other.dcMotor).setTargetPositionTolerance((int) tolerance2); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setVelocity"}) + public void setDualVelocity(double velocity1, Object otherArg, double velocity2) { + try { + startBlockExecution(BlockType.SETTER, ".Velocity"); + if (otherArg instanceof DcMotorAccess) { + DcMotorAccess other = (DcMotorAccess) otherArg; + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setVelocity(velocity1); + } + if (other.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) other.dcMotor).setVelocity(velocity2); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotor.class, DcMotorEx.class}, methodName = {"setZeroPowerBehavior"}) + public void setDualZeroPowerBehavior(String zeroPowerBehavior1String, Object otherArg, String zeroPowerBehavior2String) { + try { + startBlockExecution(BlockType.SETTER, ".ZeroPowerBehavior"); + DcMotor.ZeroPowerBehavior zeroPowerBehavior1 = (DcMotor.ZeroPowerBehavior) checkArg(zeroPowerBehavior1String, DcMotor.ZeroPowerBehavior.class, "first"); + DcMotor.ZeroPowerBehavior zeroPowerBehavior2 = (DcMotor.ZeroPowerBehavior) checkArg(zeroPowerBehavior2String, DcMotor.ZeroPowerBehavior.class, "second"); + if (zeroPowerBehavior1 != null && zeroPowerBehavior2 != null && (otherArg instanceof DcMotorAccess)) { + DcMotorAccess other = (DcMotorAccess) otherArg; + this.dcMotor.setZeroPowerBehavior(zeroPowerBehavior1); + other.dcMotor.setZeroPowerBehavior(zeroPowerBehavior2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setMotorEnable"}) + public void setMotorEnable() { + try { + startBlockExecution(BlockType.FUNCTION, ".setMotorEnable"); + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setMotorEnable(); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setMotorDisable"}) + public void setMotorDisable() { + try { + startBlockExecution(BlockType.FUNCTION, ".setMotorDisable"); + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setMotorDisable(); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"isMotorEnabled"}) + public boolean isMotorEnabled() { + try { + startBlockExecution(BlockType.FUNCTION, ".isMotorEnabled"); + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).isMotorEnabled(); + } + reportWarning("This DcMotor is not a DcMotorEx."); + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setVelocity"}) + public void setVelocity(double angularRate) { + try { + startBlockExecution(BlockType.FUNCTION, ".setVelocity"); + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setVelocity(angularRate); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setVelocity"}) + public void setVelocity_withAngleUnit(double angularRate, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setVelocity"); + AngleUnit angleUnit = (AngleUnit) checkArg(angleUnitString, AngleUnit.class, ""); + if (angleUnit != null) { + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setVelocity(angularRate, angleUnit); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"getVelocity"}) + public double getVelocity() { + try { + startBlockExecution(BlockType.FUNCTION, ".getVelocity"); + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).getVelocity(); + } + reportWarning("This DcMotor is not a DcMotorEx."); + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"getVelocity"}) + public double getVelocity_withAngleUnit(String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getVelocity"); + AngleUnit angleUnit = (AngleUnit) checkArg(angleUnitString, AngleUnit.class, ""); + if (angleUnit != null) { + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).getVelocity(angleUnit); + } + reportWarning("This DcMotor is not a DcMotorEx."); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setVelocityPIDFCoefficients"}) + public void setVelocityPIDFCoefficients(double p, double i, double d, double f) { + try { + startBlockExecution(BlockType.FUNCTION, ".setVelocityPIDFCoefficients"); + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setVelocityPIDFCoefficients(p, i, d, f); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setPositionPIDFCoefficients"}) + public void setPositionPIDFCoefficients(double p) { + try { + startBlockExecution(BlockType.FUNCTION, ".setPositionPIDFCoefficients"); + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setPositionPIDFCoefficients(p); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setPIDFCoefficients"}) + public void setPIDFCoefficients(String runModeString, Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".setPIDFCoefficients"); + DcMotor.RunMode runMode = (DcMotor.RunMode) checkArg(runModeString, DcMotor.RunMode.class, ""); + PIDFCoefficients pidfCoefficients = (PIDFCoefficients) checkArg(pidfCoefficientsArg, PIDFCoefficients.class, ""); + if (runMode != null && pidfCoefficients != null) { + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setPIDFCoefficients(runMode, pidfCoefficients); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"getPIDFCoefficients"}) + public PIDFCoefficients getPIDFCoefficients(String runModeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPIDFCoefficients"); + DcMotor.RunMode runMode = (DcMotor.RunMode) checkArg(runModeString, DcMotor.RunMode.class, ""); + if (runMode != null) { + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).getPIDFCoefficients(runMode); + } + reportWarning("This DcMotor is not a DcMotorEx."); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setTargetPositionTolerance"}) + public void setTargetPositionTolerance(int tolerance) { + try { + startBlockExecution(BlockType.SETTER, ".TargetPositionTolerance"); + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setTargetPositionTolerance(tolerance); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"getTargetPositionTolerance"}) + public int getTargetPositionTolerance() { + try { + startBlockExecution(BlockType.GETTER, ".TargetPositionTolerance"); + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).getTargetPositionTolerance(); + } + reportWarning("This DcMotor is not a DcMotorEx."); + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"getCurrent"}) + public double getCurrent(String currentUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getCurrent"); + CurrentUnit currentUnit = (CurrentUnit) checkArg(currentUnitString, CurrentUnit.class, ""); + if (currentUnit != null) { + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).getCurrent(currentUnit); + } + reportWarning("This DcMotor is not a DcMotorEx."); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"getCurrentAlert"}) + public double getCurrentAlert(String currentUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getCurrentAlert"); + CurrentUnit currentUnit = (CurrentUnit) checkArg(currentUnitString, CurrentUnit.class, ""); + if (currentUnit != null) { + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).getCurrentAlert(currentUnit); + } + reportWarning("This DcMotor is not a DcMotorEx."); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"setCurrentAlert"}) + public void setCurrentAlert(double current, String currentUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setCurrentAlert"); + CurrentUnit currentUnit = (CurrentUnit) checkArg(currentUnitString, CurrentUnit.class, ""); + if (currentUnit != null) { + if (this.dcMotor instanceof DcMotorEx) { + ((DcMotorEx) this.dcMotor).setCurrentAlert(current, currentUnit); + } else { + reportWarning("This DcMotor is not a DcMotorEx."); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DcMotorEx.class}, methodName = {"isOverCurrent"}) + public boolean isOverCurrent() { + try { + startBlockExecution(BlockType.FUNCTION, ".isOverCurrent"); + if (this.dcMotor instanceof DcMotorEx) { + return ((DcMotorEx) this.dcMotor).isOverCurrent(); + } + reportWarning("This DcMotor is not a DcMotorEx."); + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DigitalChannelAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DigitalChannelAccess.java new file mode 100644 index 000000000000..35487a6e42c8 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DigitalChannelAccess.java @@ -0,0 +1,87 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.DigitalChannel; +import com.qualcomm.robotcore.hardware.HardwareMap; + +/* JADX INFO: loaded from: classes8.dex */ +class DigitalChannelAccess extends HardwareAccess { + private final DigitalChannel digitalChannel; + + DigitalChannelAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, DigitalChannel.class); + this.digitalChannel = (DigitalChannel) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {DigitalChannel.class}, methodName = {"setMode"}) + public void setMode(String modeString) { + try { + startBlockExecution(BlockType.SETTER, ".Mode"); + DigitalChannel.Mode mode = (DigitalChannel.Mode) checkArg(modeString, DigitalChannel.Mode.class, ""); + if (mode != null) { + this.digitalChannel.setMode(mode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DigitalChannel.class}, methodName = {"getMode"}) + public String getMode() { + try { + startBlockExecution(BlockType.GETTER, ".Mode"); + DigitalChannel.Mode mode = this.digitalChannel.getMode(); + if (mode != null) { + return mode.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DigitalChannel.class}, methodName = {"setState"}) + public void setState(boolean state) { + try { + startBlockExecution(BlockType.SETTER, ".State"); + this.digitalChannel.setState(state); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {DigitalChannel.class}, methodName = {"getState"}) + public boolean getState() { + try { + startBlockExecution(BlockType.GETTER, ".State"); + return this.digitalChannel.getState(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DistanceSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DistanceSensorAccess.java new file mode 100644 index 000000000000..8d329084b4ac --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/DistanceSensorAccess.java @@ -0,0 +1,39 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.DistanceSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class DistanceSensorAccess extends HardwareAccess { + private final DistanceSensor distanceSensor; + + DistanceSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, DistanceSensor.class); + this.distanceSensor = (DistanceSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {DistanceSensor.class}, methodName = {"getDistance"}) + public double getDistance(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistance"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.distanceSensor.getDistance(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ElapsedTimeAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ElapsedTimeAccess.java new file mode 100644 index 000000000000..08a9a5b19e26 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ElapsedTimeAccess.java @@ -0,0 +1,252 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.util.ElapsedTime; + +/* JADX INFO: loaded from: classes8.dex */ +class ElapsedTimeAccess extends Access { + ElapsedTimeAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "ElapsedTime"); + } + + private ElapsedTime checkElapsedTime(Object elapsedTimeArg) { + return (ElapsedTime) checkArg(elapsedTimeArg, ElapsedTime.class, "timer"); + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, constructor = true) + public ElapsedTime create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new ElapsedTime(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, constructor = true) + public ElapsedTime create_withStartTime(long startTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + return new ElapsedTime(startTime); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, constructor = true) + public ElapsedTime create_withResolution(String resolutionString) { + try { + startBlockExecution(BlockType.CREATE, ""); + ElapsedTime.Resolution resolution = (ElapsedTime.Resolution) checkArg(resolutionString, ElapsedTime.Resolution.class, "resolution"); + if (resolution != null) { + return new ElapsedTime(resolution); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"startTime"}) + public double getStartTime(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.GETTER, ".StartTime"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + return elapsedTime.startTime(); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"time"}) + public double getTime(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.GETTER, ".Time"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + return elapsedTime.time(); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"seconds"}) + public double getSeconds(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.GETTER, ".Seconds"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + return elapsedTime.seconds(); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"milliseconds"}) + public double getMilliseconds(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.GETTER, ".Milliseconds"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + return elapsedTime.milliseconds(); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"getResolution"}) + public String getResolution(Object elapsedTimeArg) { + ElapsedTime.Resolution resolution; + try { + startBlockExecution(BlockType.GETTER, ".Resolution"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null && (resolution = elapsedTime.getResolution()) != null) { + return resolution.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"toString"}) + public String getAsText(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.GETTER, ".AsText"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + return elapsedTime.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"reset"}) + public void reset(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".reset"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + elapsedTime.reset(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"log"}) + public void log(Object elapsedTimeArg, String label) { + try { + startBlockExecution(BlockType.FUNCTION, ".log"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + elapsedTime.log(label); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ElapsedTime.class}, methodName = {"toString"}) + public String toText(Object elapsedTimeArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + ElapsedTime elapsedTime = checkElapsedTime(elapsedTimeArg); + if (elapsedTime != null) { + return elapsedTime.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ExposureControlAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ExposureControlAccess.java new file mode 100644 index 000000000000..60a4f97f5363 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ExposureControlAccess.java @@ -0,0 +1,239 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import java.util.concurrent.TimeUnit; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.ExposureControl; + +/* JADX INFO: loaded from: classes8.dex */ +class ExposureControlAccess extends Access { + ExposureControlAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "ExposureControl"); + } + + private ExposureControl checkExposureControl(Object exposureControlArg) { + return (ExposureControl) checkArg(exposureControlArg, ExposureControl.class, "exposureControl"); + } + + private ExposureControl.Mode checkMode(String modeString) { + return (ExposureControl.Mode) checkArg(modeString, ExposureControl.Mode.class, "Mode"); + } + + private TimeUnit checkTimeUnit(String timeUnitString) { + return (TimeUnit) checkArg(timeUnitString, TimeUnit.class, "timeUnit"); + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"getMode"}) + public String getMode(Object exposureControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".getMode"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + if (exposureControl != null) { + return exposureControl.getMode().toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"setMode"}) + public boolean setMode(Object exposureControlArg, String modeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setMode"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + ExposureControl.Mode mode = checkMode(modeString); + if (exposureControl != null && mode != null) { + return exposureControl.setMode(mode); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"isModeSupported"}) + public boolean isModeSupported(Object exposureControlArg, String modeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".isModeSupported"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + ExposureControl.Mode mode = checkMode(modeString); + if (exposureControl != null && mode != null) { + return exposureControl.isModeSupported(mode); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"getMinExposure"}) + public long getMinExposure(Object exposureControlArg, String timeUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getMinExposure"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + TimeUnit timeUnit = checkTimeUnit(timeUnitString); + if (exposureControl != null && timeUnit != null) { + return exposureControl.getMinExposure(timeUnit); + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"getMaxExposure"}) + public long getMaxExposure(Object exposureControlArg, String timeUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getMaxExposure"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + TimeUnit timeUnit = checkTimeUnit(timeUnitString); + if (exposureControl != null && timeUnit != null) { + return exposureControl.getMaxExposure(timeUnit); + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"getExposure"}) + public long getExposure(Object exposureControlArg, String timeUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getExposure"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + TimeUnit timeUnit = checkTimeUnit(timeUnitString); + if (exposureControl != null && timeUnit != null) { + return exposureControl.getExposure(timeUnit); + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"setExposure"}) + public boolean setExposure(Object exposureControlArg, long duration, String timeUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setExposure"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + TimeUnit timeUnit = checkTimeUnit(timeUnitString); + if (exposureControl != null && timeUnit != null) { + return exposureControl.setExposure(duration, timeUnit); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"isExposureSupported"}) + public boolean isExposureSupported(Object exposureControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".isExposureSupported"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + if (exposureControl != null) { + return exposureControl.isExposureSupported(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"getAePriority"}) + public boolean getAePriority(Object exposureControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".getAePriority"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + if (exposureControl != null) { + return exposureControl.getAePriority(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ExposureControl.class}, methodName = {"setAePriority"}) + public boolean setAePriority(Object exposureControlArg, boolean priority) { + try { + startBlockExecution(BlockType.FUNCTION, ".setAePriority"); + ExposureControl exposureControl = checkExposureControl(exposureControlArg); + if (exposureControl != null) { + return exposureControl.setAePriority(priority); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/FocusControlAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/FocusControlAccess.java new file mode 100644 index 000000000000..1af94877371e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/FocusControlAccess.java @@ -0,0 +1,188 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.FocusControl; + +/* JADX INFO: loaded from: classes8.dex */ +class FocusControlAccess extends Access { + FocusControlAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "FocusControl"); + } + + private FocusControl checkFocusControl(Object focusControlArg) { + return (FocusControl) checkArg(focusControlArg, FocusControl.class, "focusControl"); + } + + private FocusControl.Mode checkMode(String modeString) { + return (FocusControl.Mode) checkArg(modeString, FocusControl.Mode.class, "Mode"); + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"getMode"}) + public String getMode(Object focusControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".getMode"); + FocusControl focusControl = checkFocusControl(focusControlArg); + if (focusControl != null) { + return focusControl.getMode().toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"setMode"}) + public boolean setMode(Object focusControlArg, String modeString) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".setMode"); + FocusControl focusControl = checkFocusControl(focusControlArg); + FocusControl.Mode mode = checkMode(modeString); + if (focusControl != null && mode != null) { + return focusControl.setMode(mode); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"isModeSupported"}) + public boolean isModeSupported(Object focusControlArg, String modeString) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".isModeSupported"); + FocusControl focusControl = checkFocusControl(focusControlArg); + FocusControl.Mode mode = checkMode(modeString); + if (focusControl != null && mode != null) { + return focusControl.isModeSupported(mode); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"getMinFocusLength"}) + public double getMinFocusLength(Object focusControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".getMinFocusLength"); + FocusControl focusControl = checkFocusControl(focusControlArg); + if (focusControl != null) { + return focusControl.getMinFocusLength(); + } + endBlockExecution(); + return -1.0d; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"getMaxFocusLength"}) + public double getMaxFocusLength(Object focusControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".getMaxFocusLength"); + FocusControl focusControl = checkFocusControl(focusControlArg); + if (focusControl != null) { + return focusControl.getMaxFocusLength(); + } + endBlockExecution(); + return -1.0d; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"getFocusLength"}) + public double getFocusLength(Object focusControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".getFocusLength"); + FocusControl focusControl = checkFocusControl(focusControlArg); + if (focusControl != null) { + return focusControl.getFocusLength(); + } + endBlockExecution(); + return -1.0d; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"setFocusLength"}) + public boolean setFocusLength(Object focusControlArg, double focusLength) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".setFocusLength"); + FocusControl focusControl = checkFocusControl(focusControlArg); + if (focusControl != null) { + return focusControl.setFocusLength(focusLength); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {FocusControl.class}, methodName = {"isFocusLengthSupported"}) + public boolean isFocusLengthSupported(Object focusControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "FocusControl", ".isFocusLengthSupported"); + FocusControl focusControl = checkFocusControl(focusControlArg); + if (focusControl != null) { + return focusControl.isFocusLengthSupported(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GainControlAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GainControlAccess.java new file mode 100644 index 000000000000..02ee1f3b60f8 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GainControlAccess.java @@ -0,0 +1,99 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.GainControl; + +/* JADX INFO: loaded from: classes8.dex */ +class GainControlAccess extends Access { + GainControlAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "GainControl"); + } + + private GainControl checkGainControl(Object gainControlArg) { + return (GainControl) checkArg(gainControlArg, GainControl.class, "gainControl"); + } + + @JavascriptInterface + @Block(classes = {GainControl.class}, methodName = {"getMinGain"}) + public int getMinGain(Object gainControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "GainControl", ".getMinGain"); + GainControl gainControl = checkGainControl(gainControlArg); + if (gainControl != null) { + return gainControl.getMinGain(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GainControl.class}, methodName = {"getMaxGain"}) + public int getMaxGain(Object gainControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "GainControl", ".getMaxGain"); + GainControl gainControl = checkGainControl(gainControlArg); + if (gainControl != null) { + return gainControl.getMaxGain(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GainControl.class}, methodName = {"getGain"}) + public int getGain(Object gainControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "GainControl", ".getGain"); + GainControl gainControl = checkGainControl(gainControlArg); + if (gainControl != null) { + return gainControl.getGain(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GainControl.class}, methodName = {"setGain"}) + public boolean setGain(Object gainControlArg, int gain) { + try { + startBlockExecution(BlockType.FUNCTION, "GainControl", ".setGain"); + GainControl gainControl = checkGainControl(gainControlArg); + if (gainControl != null) { + return gainControl.setGain(gain); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GamepadAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GamepadAccess.java new file mode 100644 index 000000000000..fd8a3d789410 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GamepadAccess.java @@ -0,0 +1,1822 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.hardware.Gamepad; + +/* JADX INFO: loaded from: classes8.dex */ +class GamepadAccess extends Access { + private final Gamepad gamepad; + + GamepadAccess(BlocksOpMode blocksOpMode, String identifier, Gamepad gamepad) { + super(blocksOpMode, identifier, identifier); + this.gamepad = gamepad; + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"left_stick_x"}) + public float getLeftStickX() { + try { + startBlockExecution(BlockType.GETTER, ".LeftStickX"); + if (this.gamepad != null) { + return this.gamepad.left_stick_x; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"left_stick_y"}) + public float getLeftStickY() { + try { + startBlockExecution(BlockType.GETTER, ".LeftStickY"); + if (this.gamepad != null) { + return this.gamepad.left_stick_y; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"right_stick_x"}) + public float getRightStickX() { + try { + startBlockExecution(BlockType.GETTER, ".RightStickX"); + if (this.gamepad != null) { + return this.gamepad.right_stick_x; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"right_stick_y"}) + public float getRightStickY() { + try { + startBlockExecution(BlockType.GETTER, ".RightStickY"); + if (this.gamepad != null) { + return this.gamepad.right_stick_y; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"dpad_up"}) + public boolean getDpadUp() { + try { + startBlockExecution(BlockType.GETTER, ".DpadUp"); + if (this.gamepad != null) { + return this.gamepad.dpad_up; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadUpWasPressed"}) + public boolean getDpadUpWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".DpadUpWasPressed"); + if (this.gamepad != null) { + return this.gamepad.dpadUpWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadUpWasReleased"}) + public boolean getDpadUpWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".DpadUpWasReleased"); + if (this.gamepad != null) { + return this.gamepad.dpadUpWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"dpad_down"}) + public boolean getDpadDown() { + try { + startBlockExecution(BlockType.GETTER, ".DpadDown"); + if (this.gamepad != null) { + return this.gamepad.dpad_down; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadDownWasPressed"}) + public boolean getDpadDownWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".DpadDownWasPressed"); + if (this.gamepad != null) { + return this.gamepad.dpadDownWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadDownWasReleased"}) + public boolean getDpadDownWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".DpadDownWasReleased"); + if (this.gamepad != null) { + return this.gamepad.dpadDownWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"dpad_left"}) + public boolean getDpadLeft() { + try { + startBlockExecution(BlockType.GETTER, ".DpadLeft"); + if (this.gamepad != null) { + return this.gamepad.dpad_left; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadLeftWasPressed"}) + public boolean getDpadLeftWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".DpadLeftWasPressed"); + if (this.gamepad != null) { + return this.gamepad.dpadLeftWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadLeftWasReleased"}) + public boolean getDpadLeftWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".DpadLeftWasReleased"); + if (this.gamepad != null) { + return this.gamepad.dpadLeftWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"dpad_right"}) + public boolean getDpadRight() { + try { + startBlockExecution(BlockType.GETTER, ".DpadRight"); + if (this.gamepad != null) { + return this.gamepad.dpad_right; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadRightWasPressed"}) + public boolean getDpadRightWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".DpadRightWasPressed"); + if (this.gamepad != null) { + return this.gamepad.dpadRightWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"dpadRightWasReleased"}) + public boolean getDpadRightWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".DpadRightWasReleased"); + if (this.gamepad != null) { + return this.gamepad.dpadRightWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"a"}) + public boolean getA() { + try { + startBlockExecution(BlockType.GETTER, ".A"); + if (this.gamepad != null) { + return this.gamepad.a; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"aWasPressed"}) + public boolean getAWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".AWasPressed"); + if (this.gamepad != null) { + return this.gamepad.aWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"aWasReleased"}) + public boolean getAWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".AWasReleased"); + if (this.gamepad != null) { + return this.gamepad.aWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"b"}) + public boolean getB() { + try { + startBlockExecution(BlockType.GETTER, ".B"); + if (this.gamepad != null) { + return this.gamepad.b; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"bWasPressed"}) + public boolean getBWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".BWasPressed"); + if (this.gamepad != null) { + return this.gamepad.bWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"bWasReleased"}) + public boolean getBWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".BWasReleased"); + if (this.gamepad != null) { + return this.gamepad.bWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"x"}) + public boolean getX() { + try { + startBlockExecution(BlockType.GETTER, ".X"); + if (this.gamepad != null) { + return this.gamepad.x; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"xWasPressed"}) + public boolean getXWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".XWasPressed"); + if (this.gamepad != null) { + return this.gamepad.xWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"xWasReleased"}) + public boolean getXWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".XWasReleased"); + if (this.gamepad != null) { + return this.gamepad.xWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"y"}) + public boolean getY() { + try { + startBlockExecution(BlockType.GETTER, ".Y"); + if (this.gamepad != null) { + return this.gamepad.y; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"yWasPressed"}) + public boolean getYWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".YWasPressed"); + if (this.gamepad != null) { + return this.gamepad.yWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"yWasReleased"}) + public boolean getYWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".YWasReleased"); + if (this.gamepad != null) { + return this.gamepad.yWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"guide"}) + public boolean getGuide() { + try { + startBlockExecution(BlockType.GETTER, ".Guide"); + if (this.gamepad != null) { + return this.gamepad.guide; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"guideWasPressed"}) + public boolean getGuideWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".GuideWasPressed"); + if (this.gamepad != null) { + return this.gamepad.guideWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"guideWasReleased"}) + public boolean getGuideWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".GuideWasReleased"); + if (this.gamepad != null) { + return this.gamepad.guideWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"start"}) + public boolean getStart() { + try { + startBlockExecution(BlockType.GETTER, ".Start"); + if (this.gamepad != null) { + return this.gamepad.start; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"startWasPressed"}) + public boolean getStartWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".StartWasPressed"); + if (this.gamepad != null) { + return this.gamepad.startWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"startWasReleased"}) + public boolean getStartWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".StartWasReleased"); + if (this.gamepad != null) { + return this.gamepad.startWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"back"}) + public boolean getBack() { + try { + startBlockExecution(BlockType.GETTER, ".Back"); + if (this.gamepad != null) { + return this.gamepad.back; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"backWasPressed"}) + public boolean getBackWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".BackWasPressed"); + if (this.gamepad != null) { + return this.gamepad.backWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"backWasReleased"}) + public boolean getBackWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".BackWasReleased"); + if (this.gamepad != null) { + return this.gamepad.backWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"left_bumper"}) + public boolean getLeftBumper() { + try { + startBlockExecution(BlockType.GETTER, ".LeftBumper"); + if (this.gamepad != null) { + return this.gamepad.left_bumper; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"leftBumperWasPressed"}) + public boolean getLeftBumperWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".LeftBumperWasPressed"); + if (this.gamepad != null) { + return this.gamepad.leftBumperWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"leftBumperWasReleased"}) + public boolean getLeftBumperWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".LeftBumperWasReleased"); + if (this.gamepad != null) { + return this.gamepad.leftBumperWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"right_bumper"}) + public boolean getRightBumper() { + try { + startBlockExecution(BlockType.GETTER, ".RightBumper"); + if (this.gamepad != null) { + return this.gamepad.right_bumper; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rightBumperWasPressed"}) + public boolean getRightBumperWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".RightBumperWasPressed"); + if (this.gamepad != null) { + return this.gamepad.rightBumperWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rightBumperWasReleased"}) + public boolean getRightBumperWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".RightBumperWasReleased"); + if (this.gamepad != null) { + return this.gamepad.rightBumperWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"left_stick_button"}) + public boolean getLeftStickButton() { + try { + startBlockExecution(BlockType.GETTER, ".LeftStickButton"); + if (this.gamepad != null) { + return this.gamepad.left_stick_button; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"leftStickButtonWasPressed"}) + public boolean getLeftStickButtonWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".LeftStickButtonWasPressed"); + if (this.gamepad != null) { + return this.gamepad.leftStickButtonWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"leftStickButtonWasReleased"}) + public boolean getLeftStickButtonWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".LeftStickButtonWasReleased"); + if (this.gamepad != null) { + return this.gamepad.leftStickButtonWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"right_stick_button"}) + public boolean getRightStickButton() { + try { + startBlockExecution(BlockType.GETTER, ".RightStickButton"); + if (this.gamepad != null) { + return this.gamepad.right_stick_button; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rightStickButtonWasPressed"}) + public boolean getRightStickButtonWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".RightStickButtonWasPressed"); + if (this.gamepad != null) { + return this.gamepad.rightStickButtonWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rightStickButtonWasReleased"}) + public boolean getRightStickButtonWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".RightStickButtonWasReleased"); + if (this.gamepad != null) { + return this.gamepad.rightStickButtonWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"left_trigger"}) + public float getLeftTrigger() { + try { + startBlockExecution(BlockType.GETTER, ".LeftTrigger"); + if (this.gamepad != null) { + return this.gamepad.left_trigger; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"right_trigger"}) + public float getRightTrigger() { + try { + startBlockExecution(BlockType.GETTER, ".RightTrigger"); + if (this.gamepad != null) { + return this.gamepad.right_trigger; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"atRest"}) + public boolean getAtRest() { + try { + startBlockExecution(BlockType.GETTER, ".AtRest"); + if (this.gamepad != null) { + return this.gamepad.atRest(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"circle"}) + public boolean getCircle() { + try { + startBlockExecution(BlockType.GETTER, ".Circle"); + if (this.gamepad != null) { + return this.gamepad.circle; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"circleWasPressed"}) + public boolean getCircleWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".CircleWasPressed"); + if (this.gamepad != null) { + return this.gamepad.circleWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"circleWasReleased"}) + public boolean getCircleWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".CircleWasReleased"); + if (this.gamepad != null) { + return this.gamepad.circleWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"cross"}) + public boolean getCross() { + try { + startBlockExecution(BlockType.GETTER, ".Cross"); + if (this.gamepad != null) { + return this.gamepad.cross; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"crossWasPressed"}) + public boolean getCrossWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".CrossWasPressed"); + if (this.gamepad != null) { + return this.gamepad.crossWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"crossWasReleased"}) + public boolean getCrossWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".CrossWasReleased"); + if (this.gamepad != null) { + return this.gamepad.crossWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"options"}) + public boolean getOptions() { + try { + startBlockExecution(BlockType.GETTER, ".Options"); + if (this.gamepad != null) { + return this.gamepad.options; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"optionsWasPressed"}) + public boolean getOptionsWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".OptionsWasPressed"); + if (this.gamepad != null) { + return this.gamepad.optionsWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"optionsWasReleased"}) + public boolean getOptionsWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".OptionsWasReleased"); + if (this.gamepad != null) { + return this.gamepad.optionsWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"ps"}) + public boolean getPS() { + try { + startBlockExecution(BlockType.GETTER, ".PS"); + if (this.gamepad != null) { + return this.gamepad.ps; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"psWasPressed"}) + public boolean getPSWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".PSWasPressed"); + if (this.gamepad != null) { + return this.gamepad.psWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"psWasReleased"}) + public boolean getPSWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".PSWasReleased"); + if (this.gamepad != null) { + return this.gamepad.psWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"share"}) + public boolean getShare() { + try { + startBlockExecution(BlockType.GETTER, ".Share"); + if (this.gamepad != null) { + return this.gamepad.share; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"shareWasPressed"}) + public boolean getShareWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".ShareWasPressed"); + if (this.gamepad != null) { + return this.gamepad.shareWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"shareWasReleased"}) + public boolean getShareWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".ShareWasReleased"); + if (this.gamepad != null) { + return this.gamepad.shareWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"square"}) + public boolean getSquare() { + try { + startBlockExecution(BlockType.GETTER, ".Square"); + if (this.gamepad != null) { + return this.gamepad.square; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"squareWasPressed"}) + public boolean getSquareWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".SquareWasPressed"); + if (this.gamepad != null) { + return this.gamepad.squareWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"squareWasReleased"}) + public boolean getSquareWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".SquareWasReleased"); + if (this.gamepad != null) { + return this.gamepad.squareWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad"}) + public boolean getTouchpad() { + try { + startBlockExecution(BlockType.GETTER, ".Touchpad"); + if (this.gamepad != null) { + return this.gamepad.touchpad; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"touchpadWasPressed"}) + public boolean getTouchpadWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadWasPressed"); + if (this.gamepad != null) { + return this.gamepad.touchpadWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"touchpadWasReleased"}) + public boolean getTouchpadWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadWasReleased"); + if (this.gamepad != null) { + return this.gamepad.touchpadWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad_finger_1"}) + public boolean getTouchpadFinger1() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadFinger1"); + if (this.gamepad != null) { + return this.gamepad.touchpad_finger_1; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad_finger_1_x"}) + public float getTouchpadFinger1X() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadFinger1X"); + if (this.gamepad != null) { + return this.gamepad.touchpad_finger_1_x; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad_finger_1_y"}) + public float getTouchpadFinger1Y() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadFinger1Y"); + if (this.gamepad != null) { + return this.gamepad.touchpad_finger_1_y; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad_finger_2"}) + public boolean getTouchpadFinger2() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadFinger2"); + if (this.gamepad != null) { + return this.gamepad.touchpad_finger_2; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad_finger_2_x"}) + public float getTouchpadFinger2X() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadFinger2X"); + if (this.gamepad != null) { + return this.gamepad.touchpad_finger_2_x; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"touchpad_finger_2_y"}) + public float getTouchpadFinger2Y() { + try { + startBlockExecution(BlockType.GETTER, ".TouchpadFinger2Y"); + if (this.gamepad != null) { + return this.gamepad.touchpad_finger_2_y; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, fieldName = {"triangle"}) + public boolean getTriangle() { + try { + startBlockExecution(BlockType.GETTER, ".Triangle"); + if (this.gamepad != null) { + return this.gamepad.triangle; + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"triangleWasPressed"}) + public boolean getTriangleWasPressed() { + try { + startBlockExecution(BlockType.GETTER, ".TriangleWasPressed"); + if (this.gamepad != null) { + return this.gamepad.triangleWasPressed(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"triangleWasReleased"}) + public boolean getTriangleWasReleased() { + try { + startBlockExecution(BlockType.GETTER, ".TriangleWasReleased"); + if (this.gamepad != null) { + return this.gamepad.triangleWasReleased(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"resetEdgeDetection"}) + public void resetEdgeDetection() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetEdgeDetection"); + if (this.gamepad != null) { + this.gamepad.resetEdgeDetection(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rumble"}) + public void rumble_with1(int millis) { + try { + startBlockExecution(BlockType.FUNCTION, ".rumble"); + if (this.gamepad != null) { + this.gamepad.rumble(millis); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rumble"}) + public void rumble_with3(double rumble1, double rumble2, int millis) { + try { + startBlockExecution(BlockType.FUNCTION, ".rumble"); + if (this.gamepad != null) { + this.gamepad.rumble(rumble1, rumble2, millis); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"stopRumble"}) + public void stopRumble() { + try { + startBlockExecution(BlockType.FUNCTION, ".stopRumble"); + if (this.gamepad != null) { + this.gamepad.stopRumble(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"rumbleBlips"}) + public void rumbleBlips(int count) { + try { + startBlockExecution(BlockType.FUNCTION, ".rumbleBlips"); + if (this.gamepad != null) { + this.gamepad.rumbleBlips(count); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"isRumbling"}) + public boolean isRumbling() { + try { + startBlockExecution(BlockType.FUNCTION, ".isRumbling"); + if (this.gamepad != null) { + return this.gamepad.isRumbling(); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + private Gamepad.RumbleEffect checkRumbleEffect(Object rumbleEffectArg) { + return (Gamepad.RumbleEffect) checkArg(rumbleEffectArg, Gamepad.RumbleEffect.class, "rumbleEffect"); + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"runRumbleEffect"}) + public void runRumbleEffect(Object rumbleEffectArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".runRumbleEffect"); + Gamepad.RumbleEffect rumbleEffect = checkRumbleEffect(rumbleEffectArg); + if (this.gamepad != null && rumbleEffect != null) { + this.gamepad.runRumbleEffect(rumbleEffect); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"setLedColor"}) + public void setLedColor(double r, double g, double b, int millis) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLedColor"); + if (this.gamepad != null) { + this.gamepad.setLedColor(r, g, b, millis); + } + } finally { + } + } + + private Gamepad.LedEffect checkLedEffect(Object ledEffectArg) { + return (Gamepad.LedEffect) checkArg(ledEffectArg, Gamepad.LedEffect.class, "ledEffect"); + } + + @JavascriptInterface + @Block(classes = {Gamepad.class}, methodName = {"runLedEffect"}) + public void runLedEffect(Object ledEffectArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".runLedEffect"); + Gamepad.LedEffect ledEffect = checkLedEffect(ledEffectArg); + if (this.gamepad != null && ledEffect != null) { + this.gamepad.runLedEffect(ledEffect); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GoBildaPinpointAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GoBildaPinpointAccess.java new file mode 100644 index 000000000000..36df0d84f982 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GoBildaPinpointAccess.java @@ -0,0 +1,606 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.gobilda.GoBildaPinpointDriver; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Pose2D; +import org.firstinspires.ftc.robotcore.external.navigation.UnnormalizedAngleUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class GoBildaPinpointAccess extends HardwareAccess { + private final GoBildaPinpointDriver goBildaPinpoint; + + GoBildaPinpointAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, GoBildaPinpointDriver.class); + this.goBildaPinpoint = (GoBildaPinpointDriver) this.hardwareDevice; + } + + private GoBildaPinpointDriver.GoBildaOdometryPods checkGoBildaOdometryPods(String goBildaOdometryPodsString) { + return (GoBildaPinpointDriver.GoBildaOdometryPods) checkArg(goBildaOdometryPodsString, GoBildaPinpointDriver.GoBildaOdometryPods.class, "pods"); + } + + private GoBildaPinpointDriver.EncoderDirection checkEncoderDirection(String encoderDirectionString, String socketName) { + return (GoBildaPinpointDriver.EncoderDirection) checkArg(encoderDirectionString, GoBildaPinpointDriver.EncoderDirection.class, socketName); + } + + private GoBildaPinpointDriver.ReadData checkReadData(String readDataString) { + return (GoBildaPinpointDriver.ReadData) checkArg(readDataString, GoBildaPinpointDriver.ReadData.class, "readData"); + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setYawScalar"}) + public void setYawScalar(double yawOffset) { + try { + startBlockExecution(BlockType.FUNCTION, ".setYawScalar"); + this.goBildaPinpoint.setYawScalar(yawOffset); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getYawScalar"}) + public float getYawScalar() { + try { + startBlockExecution(BlockType.GETTER, ".YawScalar"); + return this.goBildaPinpoint.getYawScalar(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getDeviceID"}) + public int getDeviceID() { + try { + startBlockExecution(BlockType.GETTER, ".DeviceID"); + return this.goBildaPinpoint.getDeviceID(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getDeviceVersion"}) + public int getDeviceVersion() { + try { + startBlockExecution(BlockType.GETTER, ".DeviceVersion"); + return this.goBildaPinpoint.getDeviceVersion(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getLoopTime"}) + public int getLoopTime() { + try { + startBlockExecution(BlockType.GETTER, ".LoopTime"); + return this.goBildaPinpoint.getLoopTime(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getEncoderX"}) + public int getEncoderX() { + try { + startBlockExecution(BlockType.GETTER, ".EncoderX"); + return this.goBildaPinpoint.getEncoderX(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getEncoderY"}) + public int getEncoderY() { + try { + startBlockExecution(BlockType.GETTER, ".EncoderY"); + return this.goBildaPinpoint.getEncoderY(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getFrequency"}) + public double getFrequency() { + try { + startBlockExecution(BlockType.GETTER, ".Frequency"); + return this.goBildaPinpoint.getFrequency(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getDeviceStatus"}) + public String getDeviceStatus() { + try { + startBlockExecution(BlockType.GETTER, ".DeviceStatus"); + GoBildaPinpointDriver.DeviceStatus deviceStatus = this.goBildaPinpoint.getDeviceStatus(); + if (deviceStatus != null) { + return deviceStatus.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getPosition"}) + public Pose2D getPosition() { + try { + startBlockExecution(BlockType.GETTER, ".Position"); + return this.goBildaPinpoint.getPosition(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"update"}) + public void update() { + try { + startBlockExecution(BlockType.FUNCTION, ".update"); + this.goBildaPinpoint.update(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"update"}) + public void update_withReadData(String readDataString) { + try { + startBlockExecution(BlockType.FUNCTION, ".update"); + GoBildaPinpointDriver.ReadData readData = checkReadData(readDataString); + if (readData != null) { + this.goBildaPinpoint.update(readData); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setOffsets"}) + public void setOffsets(double xOffset, double yOffset, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setOffsets"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + this.goBildaPinpoint.setOffsets(xOffset, yOffset, distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"recalibrateIMU"}) + public void recalibrateIMU() { + try { + startBlockExecution(BlockType.FUNCTION, ".recalibrateIMU"); + this.goBildaPinpoint.recalibrateIMU(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"resetPosAndIMU"}) + public void resetPosAndIMU() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetPosAndIMU"); + this.goBildaPinpoint.resetPosAndIMU(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setEncoderDirections"}) + public void setEncoderDirections(String xEncoderString, String yEncoderString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setEncoderDirections"); + GoBildaPinpointDriver.EncoderDirection xEncoder = checkEncoderDirection(xEncoderString, "xEncoder"); + GoBildaPinpointDriver.EncoderDirection yEncoder = checkEncoderDirection(yEncoderString, "yEncoder"); + if (xEncoder != null && yEncoder != null) { + this.goBildaPinpoint.setEncoderDirections(xEncoder, yEncoder); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setEncoderResolution"}) + public void setEncoderResolution_withPods(String podsString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setEncoderResolution"); + GoBildaPinpointDriver.GoBildaOdometryPods pods = checkGoBildaOdometryPods(podsString); + if (pods != null) { + this.goBildaPinpoint.setEncoderResolution(pods); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setEncoderResolution"}) + public void setEncoderResolution_withTicks(double ticksPerUnit, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setEncoderResolution"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + this.goBildaPinpoint.setEncoderResolution(ticksPerUnit, distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setPosition"}) + public void setPosition(Object pose2DArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".setPosition"); + Pose2D pose2D = checkPose2D(pose2DArg, "position"); + if (pose2D != null) { + this.goBildaPinpoint.setPosition(pose2D); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setPosX"}) + public void setPosX(double posX, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setPosX"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + this.goBildaPinpoint.setPosX(posX, distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setPosY"}) + public void setPosY(double posY, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setPosY"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + this.goBildaPinpoint.setPosY(posY, distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"setHeading"}) + public void setHeading(double heading, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setHeading"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + this.goBildaPinpoint.setHeading(heading, angleUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getPosX"}) + public double getPosX(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPosX"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.goBildaPinpoint.getPosX(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getPosY"}) + public double getPosY(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPosY"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.goBildaPinpoint.getPosY(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getHeading"}) + public double getHeading_withAngleUnit(String angleUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".Heading"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return this.goBildaPinpoint.getHeading(angleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getHeading"}) + public double getHeading_withUnnormalizedAngleUnit(String unnormalizedAngleUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".Heading"); + UnnormalizedAngleUnit unnormalizedAngleUnit = checkUnnormalizedAngleUnit(unnormalizedAngleUnitString); + if (unnormalizedAngleUnit != null) { + return this.goBildaPinpoint.getHeading(unnormalizedAngleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getVelX"}) + public double getVelX(String distanceUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".VelX"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.goBildaPinpoint.getVelX(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getVelY"}) + public double getVelY(String distanceUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".VelY"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.goBildaPinpoint.getVelY(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getHeadingVelocity"}) + public double getHeadingVelocity_withUnnormalizedAngleUnit(String unnormalizedAngleUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".HeadingVelocity"); + UnnormalizedAngleUnit unnormalizedAngleUnit = checkUnnormalizedAngleUnit(unnormalizedAngleUnitString); + if (unnormalizedAngleUnit != null) { + return this.goBildaPinpoint.getHeadingVelocity(unnormalizedAngleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getXOffset"}) + public float getXOffset(String distanceUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".XOffset"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.goBildaPinpoint.getXOffset(distanceUnit); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GoBildaPinpointDriver.class}, methodName = {"getYOffset"}) + public float getYOffset(String distanceUnitString) { + try { + startBlockExecution(BlockType.GETTER, ".YOffset"); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return this.goBildaPinpoint.getYOffset(distanceUnit); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GyroSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GyroSensorAccess.java new file mode 100644 index 000000000000..a64e4ec2f66e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/GyroSensorAccess.java @@ -0,0 +1,435 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cGyro; +import com.qualcomm.robotcore.hardware.GyroSensor; +import com.qualcomm.robotcore.hardware.Gyroscope; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.OrientationSensor; +import com.sun.tools.doclint.DocLint; +import java.util.Set; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; +import org.firstinspires.ftc.robotcore.external.navigation.Axis; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; + +/* JADX INFO: loaded from: classes8.dex */ +class GyroSensorAccess extends HardwareAccess { + private final GyroSensor gyroSensor; + + GyroSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, GyroSensor.class); + this.gyroSensor = (GyroSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"getHeading"}) + public int getHeading() { + try { + startBlockExecution(BlockType.GETTER, ".Heading"); + return this.gyroSensor.getHeading(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"setHeadingMode"}) + public void setHeadingMode(String headingModeString) { + try { + startBlockExecution(BlockType.SETTER, ".HeadingMode"); + ModernRoboticsI2cGyro.HeadingMode headingMode = (ModernRoboticsI2cGyro.HeadingMode) checkArg(headingModeString, ModernRoboticsI2cGyro.HeadingMode.class, ""); + if (headingMode != null) { + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + ((ModernRoboticsI2cGyro) this.gyroSensor).setHeadingMode(headingMode); + } else { + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"getHeadingMode"}) + public String getHeadingMode() { + try { + startBlockExecution(BlockType.GETTER, ".HeadingMode"); + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + ModernRoboticsI2cGyro.HeadingMode headingMode = ((ModernRoboticsI2cGyro) this.gyroSensor).getHeadingMode(); + if (headingMode != null) { + return headingMode.toString(); + } + } else { + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + ((ModernRoboticsI2cGyro) this.gyroSensor).setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } else { + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + I2cAddr i2cAddr = ((ModernRoboticsI2cGyro) this.gyroSensor).getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + } else { + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + ((ModernRoboticsI2cGyro) this.gyroSensor).setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } else { + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + I2cAddr i2cAddr = ((ModernRoboticsI2cGyro) this.gyroSensor).getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + } else { + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cGyro.class}, methodName = {"getIntegratedZValue"}) + public int getIntegratedZValue() { + try { + startBlockExecution(BlockType.GETTER, ".IntegratedZValue"); + if (this.gyroSensor instanceof ModernRoboticsI2cGyro) { + return ((ModernRoboticsI2cGyro) this.gyroSensor).getIntegratedZValue(); + } + reportWarning("This GyroSensor is not a ModernRoboticsI2cGyro."); + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"rawX"}) + public int getRawX() { + try { + startBlockExecution(BlockType.GETTER, ".RawX"); + return this.gyroSensor.rawX(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"rawY"}) + public int getRawY() { + try { + startBlockExecution(BlockType.GETTER, ".RawY"); + return this.gyroSensor.rawY(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"rawZ"}) + public int getRawZ() { + try { + startBlockExecution(BlockType.GETTER, ".RawZ"); + return this.gyroSensor.rawZ(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"getRotationFraction"}) + public double getRotationFraction() { + try { + startBlockExecution(BlockType.GETTER, ".RotationFraction"); + return this.gyroSensor.getRotationFraction(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"calibrate"}) + public void calibrate() { + try { + startBlockExecution(BlockType.FUNCTION, ".calibrate"); + this.gyroSensor.calibrate(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"isCalibrating"}) + public boolean isCalibrating() { + try { + startBlockExecution(BlockType.FUNCTION, ".isCalibrating"); + return this.gyroSensor.isCalibrating(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {GyroSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"resetZAxisIntegrator"}) + public void resetZAxisIntegrator() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetZAxisIntegrator"); + this.gyroSensor.resetZAxisIntegrator(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gyroscope.class, ModernRoboticsI2cGyro.class}, methodName = {"getAngularVelocityAxes"}) + public String getAngularVelocityAxes() { + try { + startBlockExecution(BlockType.GETTER, ".AngularVelocityAxes"); + if (this.gyroSensor instanceof Gyroscope) { + Set axes = ((Gyroscope) this.gyroSensor).getAngularVelocityAxes(); + StringBuilder sb = new StringBuilder(); + sb.append("["); + String delimiter = ""; + for (Axis axis : axes) { + sb.append(delimiter).append("\"").append(axis.toString()).append("\""); + delimiter = DocLint.TAGS_SEPARATOR; + } + sb.append("]"); + return sb.toString(); + } + reportWarning("This GyroSensor is not a Gyroscope."); + return "[]"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gyroscope.class, ModernRoboticsI2cGyro.class}, methodName = {"getAngularVelocity"}) + public AngularVelocity getAngularVelocity(String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getAngularVelocity"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit == null) { + endBlockExecution(); + return null; + } + if (this.gyroSensor instanceof Gyroscope) { + return ((Gyroscope) this.gyroSensor).getAngularVelocity(angleUnit); + } + reportWarning("This GyroSensor is not a Gyroscope."); + return new AngularVelocity(angleUnit, 0.0f, 0.0f, 0.0f, 0L); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OrientationSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"getAngularOrientationAxes"}) + public String getAngularOrientationAxes() { + try { + startBlockExecution(BlockType.GETTER, ".AngularOrientationAxes"); + if (this.gyroSensor instanceof OrientationSensor) { + Set axes = ((OrientationSensor) this.gyroSensor).getAngularOrientationAxes(); + StringBuilder sb = new StringBuilder(); + sb.append("["); + String delimiter = ""; + for (Axis axis : axes) { + sb.append(delimiter).append("\"").append(axis.toString()).append("\""); + delimiter = DocLint.TAGS_SEPARATOR; + } + sb.append("]"); + return sb.toString(); + } + reportWarning("This GyroSensor is not a OrientationSensor."); + return "[]"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OrientationSensor.class, ModernRoboticsI2cGyro.class}, methodName = {"getAngularOrientation"}) + public Orientation getAngularOrientation(String axesReferenceString, String axesOrderString, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getAngularOrientation"); + AxesReference axesReference = checkAxesReference(axesReferenceString); + try { + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + try { + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference == null || axesOrder == null || angleUnit == null) { + endBlockExecution(); + return null; + } + if (this.gyroSensor instanceof OrientationSensor) { + return ((OrientationSensor) this.gyroSensor).getAngularOrientation(axesReference, axesOrder, angleUnit); + } + reportWarning("This GyroSensor is not a OrientationSensor."); + return new Orientation(axesReference, axesOrder, angleUnit, 0.0f, 0.0f, 0.0f, 0L); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th3) { + e = th3; + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HardwareAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HardwareAccess.java new file mode 100644 index 000000000000..2b0d75dd160e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HardwareAccess.java @@ -0,0 +1,106 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareType; +import com.qualcomm.robotcore.hardware.HardwareDevice; +import com.qualcomm.robotcore.hardware.HardwareMap; + +/* JADX INFO: loaded from: classes8.dex */ +abstract class HardwareAccess extends Access { + protected final DEVICE_TYPE hardwareDevice; + protected final HardwareItem hardwareItem; + + protected HardwareAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap, Class cls) { + String str; + super(blocksOpMode, hardwareItem.identifier, hardwareItem.visibleName); + this.hardwareItem = hardwareItem; + DEVICE_TYPE device_type = null; + try { + device_type = (DEVICE_TYPE) ((HardwareDevice) hardwareMap.get(cls, hardwareItem.deviceName)); + } catch (Exception e) { + try { + hardwareMap.get(hardwareItem.deviceName); + str = "The name \"" + hardwareItem.deviceName + "\" is present in the active configuration, but it does not correspond to a " + cls.getSimpleName() + "."; + } catch (Exception e2) { + str = "The name \"" + hardwareItem.deviceName + "\" is not present in the active configuration."; + } + reportHardwareError(str); + } + this.hardwareDevice = device_type; + } + + static HardwareAccess newHardwareAccess(BlocksOpMode blocksOpMode, HardwareType hardwareType, HardwareMap hardwareMap, HardwareItem hardwareItem) { + switch (hardwareType) { + case ACCELERATION_SENSOR: + return new AccelerationSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case ANALOG_INPUT: + return new AnalogInputAccess(blocksOpMode, hardwareItem, hardwareMap); + case ANDY_MARK_COLOR_SENSOR: + return new AndyMarkColorSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case BNO055IMU: + return new BNO055IMUAccess(blocksOpMode, hardwareItem, hardwareMap); + case COLOR_RANGE_SENSOR: + return new ColorRangeSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case COLOR_SENSOR: + return new ColorSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case COMPASS_SENSOR: + return new CompassSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case CR_SERVO: + return new CRServoAccess(blocksOpMode, hardwareItem, hardwareMap); + case DC_MOTOR: + return new DcMotorAccess(blocksOpMode, hardwareItem, hardwareMap); + case DIGITAL_CHANNEL: + return new DigitalChannelAccess(blocksOpMode, hardwareItem, hardwareMap); + case DISTANCE_SENSOR: + return new DistanceSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case GOBILDA_PINPOINT: + return new GoBildaPinpointAccess(blocksOpMode, hardwareItem, hardwareMap); + case GYRO_SENSOR: + return new GyroSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case HUSKY_LENS: + return new HuskyLensAccess(blocksOpMode, hardwareItem, hardwareMap); + case IMU: + return new ImuAccess(blocksOpMode, hardwareItem, hardwareMap); + case IR_SEEKER_SENSOR: + return new IrSeekerSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case LED: + return new LedAccess(blocksOpMode, hardwareItem, hardwareMap); + case LIMELIGHT_3A: + return new Limelight3AAccess(blocksOpMode, hardwareItem, hardwareMap); + case LIGHT_SENSOR: + return new LightSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case LYNX_MODULE: + return null; + case MAX_SONAR_I2CXL: + return new MaxSonarI2CXLAccess(blocksOpMode, hardwareItem, hardwareMap); + case MR_I2C_COMPASS_SENSOR: + return new MrI2cCompassSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case MR_I2C_RANGE_SENSOR: + return new MrI2cRangeSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case OCTOQUAD: + return new OctoQuadAccess(blocksOpMode, hardwareItem, hardwareMap); + case OPTICAL_DISTANCE_SENSOR: + return new OpticalDistanceSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case REV_BLINKIN_LED_DRIVER: + return new RevBlinkinLedDriverAccess(blocksOpMode, hardwareItem, hardwareMap); + case SERVO: + return new ServoAccess(blocksOpMode, hardwareItem, hardwareMap); + case SERVO_CONTROLLER: + return new ServoControllerAccess(blocksOpMode, hardwareItem, hardwareMap); + case SPARKFUN_LED_STICK: + return new SparkFunLEDStickAccess(blocksOpMode, hardwareItem, hardwareMap); + case SPARKFUN_OTOS: + return new SparkFunOTOSAccess(blocksOpMode, hardwareItem, hardwareMap); + case TOUCH_SENSOR: + return new TouchSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case ULTRASONIC_SENSOR: + return new UltrasonicSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case VOLTAGE_SENSOR: + return new VoltageSensorAccess(blocksOpMode, hardwareItem, hardwareMap); + case WEBCAM_NAME: + return null; + default: + throw new IllegalArgumentException("Unknown hardware type " + hardwareType); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HuskyLensAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HuskyLensAccess.java new file mode 100644 index 000000000000..3ab1e3b9df5d --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/HuskyLensAccess.java @@ -0,0 +1,126 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.dfrobot.HuskyLens; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; + +/* JADX INFO: loaded from: classes8.dex */ +class HuskyLensAccess extends HardwareAccess { + private final HuskyLens huskyLens; + + HuskyLensAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, HuskyLens.class); + this.huskyLens = (HuskyLens) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {HuskyLens.class}, methodName = {"knock"}) + public boolean knock() { + try { + startBlockExecution(BlockType.FUNCTION, ".knock"); + return this.huskyLens.knock(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HuskyLens.class}, methodName = {"selectAlgorithm"}) + public void selectAlgorithm(String algorithmString) { + try { + startBlockExecution(BlockType.FUNCTION, ".selectAlgorithm"); + HuskyLens.Algorithm algorithm = (HuskyLens.Algorithm) checkArg(algorithmString, HuskyLens.Algorithm.class, ""); + if (algorithm != null) { + this.huskyLens.selectAlgorithm(algorithm); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HuskyLens.class}, methodName = {"blocks"}) + public String blocks() { + try { + startBlockExecution(BlockType.FUNCTION, ".blocks"); + return SimpleGson.getInstance().toJson(this.huskyLens.blocks()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HuskyLens.class}, methodName = {"blocks"}) + public String blocks_withId(int id) { + try { + startBlockExecution(BlockType.FUNCTION, ".blocks"); + return SimpleGson.getInstance().toJson(this.huskyLens.blocks(id)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HuskyLens.class}, methodName = {"arrows"}) + public String arrows() { + try { + startBlockExecution(BlockType.FUNCTION, ".arrows"); + return SimpleGson.getInstance().toJson(this.huskyLens.arrows()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {HuskyLens.class}, methodName = {"arrows"}) + public String arrows_withId(int id) { + try { + startBlockExecution(BlockType.FUNCTION, ".arrows"); + return SimpleGson.getInstance().toJson(this.huskyLens.arrows(id)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + static String huskyLensBlockToText(String json) { + HuskyLens.Block block = (HuskyLens.Block) SimpleGson.getInstance().fromJson(json, HuskyLens.Block.class); + return block.toString(); + } + + static String huskyLensArrowToText(String json) { + HuskyLens.Arrow arrow = (HuskyLens.Arrow) SimpleGson.getInstance().fromJson(json, HuskyLens.Arrow.class); + return arrow.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuAccess.java new file mode 100644 index 000000000000..d5f0a752142b --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuAccess.java @@ -0,0 +1,138 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.IMU; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AngularVelocity; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; +import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; + +/* JADX INFO: loaded from: classes8.dex */ +class ImuAccess extends HardwareAccess { + private final IMU imu; + + ImuAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, IMU.class); + this.imu = (IMU) this.hardwareDevice; + } + + private IMU.Parameters checkImuParameters(Object parametersArg) { + return (IMU.Parameters) checkArg(parametersArg, IMU.Parameters.class, "parameters"); + } + + @JavascriptInterface + @Block(classes = {IMU.class}, methodName = {"initialize"}) + public void initialize(Object parametersArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".initialize"); + IMU.Parameters parameters = checkImuParameters(parametersArg); + if (parameters != null && !this.imu.initialize(parameters)) { + reportWarning("IMU initialization failed"); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IMU.class}, methodName = {"getRobotAngularVelocity"}) + public AngularVelocity getRobotAngularVelocity(String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRobotAngularVelocity"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return this.imu.getRobotAngularVelocity(angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IMU.class}, methodName = {"getRobotOrientation"}) + public Orientation getRobotOrientation(String axesReferenceString, String axesOrderString, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRobotOrientation"); + AxesReference axesReference = checkAxesReference(axesReferenceString); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference != null && axesOrder != null && angleUnit != null) { + return this.imu.getRobotOrientation(axesReference, axesOrder, angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IMU.class}, methodName = {"getRobotOrientationAsQuaternion"}) + public Quaternion getRobotOrientationAsQuaternion() { + try { + startBlockExecution(BlockType.FUNCTION, ".getRobotOrientationAsQuaternion"); + return this.imu.getRobotOrientationAsQuaternion(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IMU.class}, methodName = {"getRobotYawPitchRollAngles"}) + public YawPitchRollAngles getRobotYawPitchRollAngles() { + try { + startBlockExecution(BlockType.FUNCTION, ".getRobotYawPitchRollAngles"); + return this.imu.getRobotYawPitchRollAngles(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IMU.class}, methodName = {"resetYaw"}) + public void resetYaw() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetYaw"); + this.imu.resetYaw(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuParametersAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuParametersAccess.java new file mode 100644 index 000000000000..c6ffb5b7302c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ImuParametersAccess.java @@ -0,0 +1,37 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.hardware.IMU; +import com.qualcomm.robotcore.hardware.ImuOrientationOnRobot; + +/* JADX INFO: loaded from: classes8.dex */ +class ImuParametersAccess extends Access { + ImuParametersAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "IMU.Parameters"); + } + + private ImuOrientationOnRobot checkImuOrientationOnRobot(Object imuOrientationOnRobotArg) { + return (ImuOrientationOnRobot) checkArg(imuOrientationOnRobotArg, ImuOrientationOnRobot.class, "imuOrientationOnRobot"); + } + + @JavascriptInterface + @Block(classes = {IMU.Parameters.class}, constructor = true) + public IMU.Parameters create(Object imuOrientationOnRobotArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + ImuOrientationOnRobot imuOrientationOnRobot = checkImuOrientationOnRobot(imuOrientationOnRobotArg); + if (imuOrientationOnRobotArg != null) { + return new IMU.Parameters(imuOrientationOnRobot); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/IrSeekerSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/IrSeekerSensorAccess.java new file mode 100644 index 000000000000..a1405cc7a5b3 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/IrSeekerSensorAccess.java @@ -0,0 +1,211 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cIrSeekerSensorV3; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import com.qualcomm.robotcore.hardware.IrSeekerSensor; + +/* JADX INFO: loaded from: classes8.dex */ +class IrSeekerSensorAccess extends HardwareAccess { + private final IrSeekerSensor irSeekerSensor; + + IrSeekerSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, IrSeekerSensor.class); + this.irSeekerSensor = (IrSeekerSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"setSignalDetectedThreshold"}) + public void setSignalDetectedThreshold(double threshold) { + try { + startBlockExecution(BlockType.SETTER, ".SignalDetectedThreshold"); + this.irSeekerSensor.setSignalDetectedThreshold(threshold); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"getSignalDetectedThreshold"}) + public double getSignalDetectedThreshold() { + try { + startBlockExecution(BlockType.GETTER, ".SignalDetectedThreshold"); + return this.irSeekerSensor.getSignalDetectedThreshold(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"setMode"}) + public void setMode(String modeString) { + try { + startBlockExecution(BlockType.SETTER, ".Mode"); + IrSeekerSensor.Mode mode = (IrSeekerSensor.Mode) checkArg(modeString, IrSeekerSensor.Mode.class, ""); + if (mode != null) { + this.irSeekerSensor.setMode(mode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"getMode"}) + public String getMode() { + try { + startBlockExecution(BlockType.GETTER, ".Mode"); + IrSeekerSensor.Mode mode = this.irSeekerSensor.getMode(); + if (mode != null) { + return mode.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"signalDetected"}) + public boolean getIsSignalDetected() { + try { + startBlockExecution(BlockType.GETTER, ".IsSignalDetected"); + return this.irSeekerSensor.signalDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"getAngle"}) + public double getAngle() { + try { + startBlockExecution(BlockType.GETTER, ".Angle"); + return this.irSeekerSensor.getAngle(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"getStrength"}) + public double getStrength() { + try { + startBlockExecution(BlockType.GETTER, ".Strength"); + return this.irSeekerSensor.getStrength(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.irSeekerSensor.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.irSeekerSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.irSeekerSensor.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {IrSeekerSensor.class, ModernRoboticsI2cIrSeekerSensorV3.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.irSeekerSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLResultAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLResultAccess.java new file mode 100644 index 000000000000..4c9fb91516be --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLResultAccess.java @@ -0,0 +1,81 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.limelightvision.LLResult; +import com.sun.tools.doclint.DocLint; +import org.firstinspires.ftc.robotcore.external.navigation.Pose3D; + +/* JADX INFO: loaded from: classes8.dex */ +class LLResultAccess extends Access { + LLResultAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "LLResult"); + } + + private LLResult checkLLResult(Object llResultArg) { + return (LLResult) checkArg(llResultArg, LLResult.class, "llResult"); + } + + @JavascriptInterface + @Block(classes = {LLResult.class}, methodName = {"getStaleness"}) + public long getStaleness(Object llResultArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".getStaleness"); + LLResult llResult = checkLLResult(llResultArg); + if (llResultArg != null) { + return llResult.getStaleness(); + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LLResult.class}, methodName = {"toString"}) + public String toText(Object llResultArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + LLResult llResult = checkLLResult(llResultArg); + if (llResultArg != null) { + return llResult.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String pose3DToText(String json) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Pose3D pose3D = (Pose3D) fromJson(json, Pose3D.class); + return pose3D.toString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + static String llResultToJson(LLResult llResult) { + StringBuilder json = new StringBuilder(); + json.append("{").append("\"PythonOutput\":").append(toJson(llResult.getPythonOutput())).append(DocLint.TAGS_SEPARATOR).append("\"FiducialResults\":").append(toJson(llResult.getFiducialResults())).append(DocLint.TAGS_SEPARATOR).append("\"ColorResults\":").append(toJson(llResult.getColorResults())).append(DocLint.TAGS_SEPARATOR).append("\"ControlHubTimeStamp\":").append(llResult.getControlHubTimeStamp()).append(DocLint.TAGS_SEPARATOR).append("\"ControlHubTimeStampNanos\":").append(llResult.getControlHubTimeStampNanos()).append(DocLint.TAGS_SEPARATOR).append("\"FocusMetric\":").append(llResult.getFocusMetric()).append(DocLint.TAGS_SEPARATOR).append("\"Botpose\":").append(toJson(llResult.getBotpose())).append(DocLint.TAGS_SEPARATOR).append("\"Botpose_MT2\":").append(toJson(llResult.getBotpose_MT2())).append(DocLint.TAGS_SEPARATOR).append("\"BotposeTagCount\":").append(llResult.getBotposeTagCount()).append(DocLint.TAGS_SEPARATOR).append("\"BotposeSpan\":").append(llResult.getBotposeSpan()).append(DocLint.TAGS_SEPARATOR).append("\"BotposeAvgDist\":").append(llResult.getBotposeAvgDist()).append(DocLint.TAGS_SEPARATOR).append("\"BotposeAvgArea\":").append(llResult.getBotposeAvgArea()).append(DocLint.TAGS_SEPARATOR).append("\"CaptureLatency\":").append(llResult.getCaptureLatency()).append(DocLint.TAGS_SEPARATOR).append("\"Tx\":").append(llResult.getTx()).append(DocLint.TAGS_SEPARATOR).append("\"Ty\":").append(llResult.getTy()).append(DocLint.TAGS_SEPARATOR).append("\"TxNC\":").append(llResult.getTxNC()).append(DocLint.TAGS_SEPARATOR).append("\"TyNC\":").append(llResult.getTyNC()).append(DocLint.TAGS_SEPARATOR).append("\"Ta\":").append(llResult.getTa()).append(DocLint.TAGS_SEPARATOR).append("\"PipelineIndex\":").append(llResult.getPipelineIndex()).append(DocLint.TAGS_SEPARATOR).append("\"TargetingLatency\":").append(llResult.getTargetingLatency()).append(DocLint.TAGS_SEPARATOR).append("\"Timestamp\":").append(llResult.getTimestamp()).append(DocLint.TAGS_SEPARATOR).append("\"PipelineType\":\"").append(llResult.getPipelineType()).append("\"").append(DocLint.TAGS_SEPARATOR).append("\"IsValid\":\"").append(llResult.isValid()).append("\"").append("}"); + return json.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLStatusAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLStatusAccess.java new file mode 100644 index 000000000000..dc6ecd118551 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LLStatusAccess.java @@ -0,0 +1,57 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.limelightvision.LLStatus; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; + +/* JADX INFO: loaded from: classes8.dex */ +class LLStatusAccess extends Access { + LLStatusAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "LLStatus"); + } + + private LLStatus checkLLStatus(Object llStatusArg) { + return (LLStatus) checkArg(llStatusArg, LLStatus.class, "llStatus"); + } + + @JavascriptInterface + @Block(classes = {LLStatus.class}, methodName = {"getCameraQuat"}) + public Quaternion getCameraQuat(Object llStatusArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".getCameraQuat"); + LLStatus llStatus = checkLLStatus(llStatusArg); + if (llStatusArg != null) { + return llStatus.getCameraQuat(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LLStatus.class}, methodName = {"toString"}) + public String toText(Object llStatusArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + LLStatus llStatus = checkLLStatus(llStatusArg); + if (llStatusArg != null) { + return llStatus.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedAccess.java new file mode 100644 index 000000000000..bcee82131a0d --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedAccess.java @@ -0,0 +1,80 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.LED; + +/* JADX INFO: loaded from: classes8.dex */ +class LedAccess extends HardwareAccess { + private final LED led; + + LedAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, LED.class); + this.led = (LED) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {LED.class}, methodName = {"enable"}) + public void enableLed(boolean enable) { + try { + startBlockExecution(BlockType.FUNCTION, ".enableLed"); + this.led.enable(enable); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LED.class}, methodName = {"isLightOn"}) + public boolean isLightOn() { + try { + startBlockExecution(BlockType.FUNCTION, ".isLightOn"); + return this.led.isLightOn(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LED.class}, methodName = {"on"}) + public void on() { + try { + startBlockExecution(BlockType.FUNCTION, ".on"); + this.led.on(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LED.class}, methodName = {"off"}) + public void off() { + try { + startBlockExecution(BlockType.FUNCTION, ".off"); + this.led.off(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedEffectAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedEffectAccess.java new file mode 100644 index 000000000000..8a19560e29d2 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LedEffectAccess.java @@ -0,0 +1,84 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.hardware.Gamepad; + +/* JADX INFO: loaded from: classes8.dex */ +class LedEffectAccess extends Access { + LedEffectAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "LedEffect"); + } + + private Gamepad.LedEffect.Builder checkLedEffectBuilder(Object ledEffectBuilderArg) { + return (Gamepad.LedEffect.Builder) checkArg(ledEffectBuilderArg, Gamepad.LedEffect.Builder.class, "ledEffectBuilder"); + } + + @JavascriptInterface + @Block(classes = {Gamepad.LedEffect.Builder.class}, constructor = true) + public Gamepad.LedEffect.Builder createBuilder() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Gamepad.LedEffect.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.LedEffect.Builder.class}, methodName = {"addStep"}) + public void addStep(Object ledEffectBuilderArg, double red, double green, double blue, int millis) { + try { + startBlockExecution(BlockType.FUNCTION, ".addStep"); + Gamepad.LedEffect.Builder ledEffectBuilder = checkLedEffectBuilder(ledEffectBuilderArg); + if (ledEffectBuilder != null) { + ledEffectBuilder.addStep(red, green, blue, millis); + } + } finally { + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.LedEffect.Builder.class}, methodName = {"setRepeating"}) + public void setRepeating(Object ledEffectBuilderArg, boolean repeating) { + try { + startBlockExecution(BlockType.FUNCTION, ".setRepeating"); + Gamepad.LedEffect.Builder ledEffectBuilder = checkLedEffectBuilder(ledEffectBuilderArg); + if (ledEffectBuilder != null) { + ledEffectBuilder.setRepeating(repeating); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.LedEffect.Builder.class}, methodName = {"build"}) + public Gamepad.LedEffect build(Object ledEffectBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".build"); + Gamepad.LedEffect.Builder ledEffectBuilder = checkLedEffectBuilder(ledEffectBuilderArg); + if (ledEffectBuilder != null) { + return ledEffectBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LightSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LightSensorAccess.java new file mode 100644 index 000000000000..e527ccc6f6ef --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LightSensorAccess.java @@ -0,0 +1,80 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.LightSensor; + +/* JADX INFO: loaded from: classes8.dex */ +class LightSensorAccess extends HardwareAccess { + private final LightSensor lightSensor; + + LightSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, LightSensor.class); + this.lightSensor = (LightSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {LightSensor.class}, methodName = {"getLightDetected"}) + public double getLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".LightDetected"); + return this.lightSensor.getLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LightSensor.class}, methodName = {"getRawLightDetected"}) + public double getRawLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetected"); + return this.lightSensor.getRawLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LightSensor.class}, methodName = {"getRawLightDetectedMax"}) + public double getRawLightDetectedMax() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetectedMax"); + return this.lightSensor.getRawLightDetectedMax(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LightSensor.class}, methodName = {"enableLed"}) + public void enableLed(boolean enable) { + try { + startBlockExecution(BlockType.FUNCTION, ".enableLed"); + this.lightSensor.enableLed(enable); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Limelight3AAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Limelight3AAccess.java new file mode 100644 index 000000000000..65828f1a22b9 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Limelight3AAccess.java @@ -0,0 +1,252 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.limelightvision.Limelight3A; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; + +/* JADX INFO: loaded from: classes8.dex */ +class Limelight3AAccess extends HardwareAccess { + private final Limelight3A limelight3a; + + Limelight3AAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, Limelight3A.class); + this.limelight3a = (Limelight3A) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"start"}) + public void start() { + try { + startBlockExecution(BlockType.FUNCTION, ".start"); + this.limelight3a.start(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"pause"}) + public void pause() { + try { + startBlockExecution(BlockType.FUNCTION, ".pause"); + this.limelight3a.pause(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"stop"}) + public void stop() { + try { + startBlockExecution(BlockType.FUNCTION, ".stop"); + this.limelight3a.stop(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"isRunning"}) + public boolean isRunning() { + try { + startBlockExecution(BlockType.FUNCTION, ".isRunning"); + return this.limelight3a.isRunning(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"setPollRateHz"}) + public void setPollRateHz(int rateHz) { + try { + startBlockExecution(BlockType.FUNCTION, ".setPollRateHz"); + this.limelight3a.setPollRateHz(rateHz); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"getTimeSinceLastUpdate"}) + public long getTimeSinceLastUpdate() { + try { + startBlockExecution(BlockType.FUNCTION, ".getTimeSinceLastUpdate"); + return this.limelight3a.getTimeSinceLastUpdate(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"isConnected"}) + public boolean isConnected() { + try { + startBlockExecution(BlockType.FUNCTION, ".isConnected"); + return this.limelight3a.isConnected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"getLatestResult"}) + public Object getLatestResult() { + try { + startBlockExecution(BlockType.FUNCTION, ".getLatestResult"); + return this.limelight3a.getLatestResult(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"getStatus"}) + public Object getStatus() { + try { + startBlockExecution(BlockType.FUNCTION, ".getStatus"); + return this.limelight3a.getStatus(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"reloadPipeline"}) + public boolean reloadPipeline() { + try { + startBlockExecution(BlockType.FUNCTION, ".reloadPipeline"); + return this.limelight3a.reloadPipeline(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"pipelineSwitch"}) + public boolean pipelineSwitch(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".pipelineSwitch"); + return this.limelight3a.pipelineSwitch(index); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"updatePythonInputs"}) + public boolean updatePythonInputs_with8Doubles(double input1, double input2, double input3, double input4, double input5, double input6, double input7, double input8) { + try { + startBlockExecution(BlockType.FUNCTION, ".updatePythonInputs"); + return this.limelight3a.updatePythonInputs(input1, input2, input3, input4, input5, input6, input7, input8); + } finally { + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"updatePythonInputs"}) + public boolean updatePythonInputs_withArray(String jsonInputs) { + try { + startBlockExecution(BlockType.FUNCTION, ".updatePythonInputs"); + double[] inputs = (double[]) SimpleGson.getInstance().fromJson(jsonInputs, double[].class); + return this.limelight3a.updatePythonInputs(inputs); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"updateRobotOrientation"}) + public boolean updateRobotOrientation(double yaw) { + try { + startBlockExecution(BlockType.FUNCTION, ".updateRobotOrientation"); + return this.limelight3a.updateRobotOrientation(yaw); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Limelight3A.class}, methodName = {"shutdown"}) + public void shutdown() { + try { + startBlockExecution(BlockType.FUNCTION, ".shutdown"); + this.limelight3a.shutdown(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LinearOpModeAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LinearOpModeAccess.java new file mode 100644 index 000000000000..b865212ca836 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/LinearOpModeAccess.java @@ -0,0 +1,191 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.OpMode; + +/* JADX INFO: loaded from: classes8.dex */ +class LinearOpModeAccess extends Access { + private final BlocksOpMode blocksOpMode; + + LinearOpModeAccess(BlocksOpMode blocksOpMode, String identifier, String projectName) { + super(blocksOpMode, identifier, projectName); + this.blocksOpMode = blocksOpMode; + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"waitForStart"}) + public void waitForStart() { + try { + startBlockExecution(BlockType.FUNCTION, ".waitForStart"); + this.blocksOpMode.waitForStartForBlocks(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"idle"}) + public void idle() { + try { + startBlockExecution(BlockType.FUNCTION, ".idle"); + this.blocksOpMode.idle(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"sleep"}) + public void sleep(double millis) { + try { + startBlockExecution(BlockType.FUNCTION, ".sleep"); + this.blocksOpMode.sleepForBlocks((long) millis); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"opModeInInit"}) + public boolean opModeInInit() { + try { + startBlockExecution(BlockType.FUNCTION, ".opModeInInit"); + return this.blocksOpMode.opModeInInit(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"opModeIsActive"}) + public boolean opModeIsActive() { + try { + startBlockExecution(BlockType.FUNCTION, ".opModeIsActive"); + return this.blocksOpMode.opModeIsActive(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"isStarted"}) + public boolean isStarted() { + try { + startBlockExecution(BlockType.FUNCTION, ".isStarted"); + return this.blocksOpMode.isStartedForBlocks(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class}, methodName = {"isStopRequested"}) + public boolean isStopRequested() { + try { + startBlockExecution(BlockType.FUNCTION, ".isStopRequested"); + return this.blocksOpMode.isStopRequestedForBlocks(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class, OpMode.class}, methodName = {"getRuntime"}) + public double getRuntime() { + try { + startBlockExecution(BlockType.FUNCTION, ".getRuntime"); + return this.blocksOpMode.getRuntime(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class, OpMode.class}, methodName = {"resetRuntime"}) + public void resetRuntime() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetRuntime"); + this.blocksOpMode.resetRuntime(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class, OpMode.class}, methodName = {"requestOpModeStop"}) + public void requestOpModeStop() { + try { + startBlockExecution(BlockType.FUNCTION, ".requestOpModeStop"); + this.blocksOpMode.requestOpModeStop(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {LinearOpMode.class, OpMode.class}, methodName = {"terminateOpModeNow"}) + public void terminateOpModeNow() { + try { + startBlockExecution(BlockType.FUNCTION, ".terminateOpModeNow"); + this.blocksOpMode.terminateOpModeNowForBlocks(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MagneticFluxAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MagneticFluxAccess.java new file mode 100644 index 000000000000..1ad31248bbb2 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MagneticFluxAccess.java @@ -0,0 +1,146 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.MagneticFlux; + +/* JADX INFO: loaded from: classes8.dex */ +class MagneticFluxAccess extends Access { + MagneticFluxAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "MagneticFlux"); + } + + private MagneticFlux checkMagneticFlux(Object magneticFluxArg) { + return (MagneticFlux) checkArg(magneticFluxArg, MagneticFlux.class, "magneticFlux"); + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, fieldName = {"x"}) + public double getX(Object magneticFluxArg) { + try { + startBlockExecution(BlockType.GETTER, ".X"); + MagneticFlux magneticFlux = checkMagneticFlux(magneticFluxArg); + if (magneticFlux != null) { + return magneticFlux.x; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, fieldName = {"y"}) + public double getY(Object magneticFluxArg) { + try { + startBlockExecution(BlockType.GETTER, ".Y"); + MagneticFlux magneticFlux = checkMagneticFlux(magneticFluxArg); + if (magneticFlux != null) { + return magneticFlux.y; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, fieldName = {"z"}) + public double getZ(Object magneticFluxArg) { + try { + startBlockExecution(BlockType.GETTER, ".Z"); + MagneticFlux magneticFlux = checkMagneticFlux(magneticFluxArg); + if (magneticFlux != null) { + return magneticFlux.z; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object magneticFluxArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + MagneticFlux magneticFlux = checkMagneticFlux(magneticFluxArg); + if (magneticFlux != null) { + return magneticFlux.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, constructor = true) + public MagneticFlux create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new MagneticFlux(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, constructor = true) + public MagneticFlux create_withArgs(double x, double y, double z, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + return new MagneticFlux(x, y, z, acquisitionTime); + } finally { + } + } + + @JavascriptInterface + @Block(classes = {MagneticFlux.class}, methodName = {"toString"}) + public String toText(Object magneticFluxArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + MagneticFlux magneticFlux = checkMagneticFlux(magneticFluxArg); + if (magneticFlux != null) { + return magneticFlux.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MatrixFAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MatrixFAccess.java new file mode 100644 index 000000000000..59296df1f157 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MatrixFAccess.java @@ -0,0 +1,674 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.VectorF; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; + +/* JADX INFO: loaded from: classes8.dex */ +class MatrixFAccess extends Access { + MatrixFAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "MatrixF"); + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"numRows"}) + public int getNumRows(Object matrixArg) { + try { + startBlockExecution(BlockType.GETTER, ".NumRows"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.numRows(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"numCols"}) + public int getNumCols(Object matrixArg) { + try { + startBlockExecution(BlockType.GETTER, ".NumCols"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.numCols(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"slice"}) + public MatrixF slice(Object matrixArg, int row, int col, int numRows, int numCols) { + try { + startBlockExecution(BlockType.FUNCTION, ".slice"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.slice(row, col, numRows, numCols); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"identityMatrix"}) + public MatrixF identityMatrix(int dim) { + try { + startBlockExecution(BlockType.FUNCTION, ".identityMatrix"); + return MatrixF.identityMatrix(dim); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"diagonalMatrix"}) + public MatrixF diagonalMatrix(int dim, int scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".diagonalMatrix"); + return MatrixF.diagonalMatrix(dim, scale); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"diagonalMatrix"}) + public MatrixF diagonalMatrix_withVector(Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".diagonalMatrix"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return MatrixF.diagonalMatrix(vector); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"get"}) + public float get(Object matrixArg, int row, int col) { + try { + startBlockExecution(BlockType.FUNCTION, ".get"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.get(row, col); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"put"}) + public void put(Object matrixArg, int row, int col, float value) { + try { + startBlockExecution(BlockType.FUNCTION, ".put"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + matrix.put(row, col, value); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"getRow"}) + public VectorF getRow(Object matrixArg, int row) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRow"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.getRow(row); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"getColumn"}) + public VectorF getColumn(Object matrixArg, int col) { + try { + startBlockExecution(BlockType.FUNCTION, ".getColumn"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.getColumn(col); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"toString"}) + public String toText(Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"transform"}) + public VectorF transform(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".transform"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + return matrix.transform(vector); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"formatAsTransform"}) + public String formatAsTransform(Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".formatAsTransform"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.formatAsTransform(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"formatAsTransform"}) + public String formatAsTransform_withArgs(Object matrixArg, String axesReferenceString, String axesOrderString, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".formatAsTransform"); + MatrixF matrix = checkMatrixF(matrixArg); + AxesReference axesReference = checkAxesReference(axesReferenceString); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (matrix != null && axesReference != null && axesOrder != null && angleUnit != null) { + return matrix.formatAsTransform(axesReference, axesOrder, angleUnit); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"transposed"}) + public MatrixF transposed(Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".transposed"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.transposed(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"multiplied"}) + public MatrixF multiplied_withMatrix(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiplied"); + MatrixF matrix1 = (MatrixF) checkArg(matrix1Arg, MatrixF.class, "matrix1"); + MatrixF matrix2 = (MatrixF) checkArg(matrix2Arg, MatrixF.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + return matrix1.multiplied(matrix2); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"multiplied"}) + public MatrixF multiplied_withScale(Object matrixArg, float scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiplied"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.multiplied(scale); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"multiplied"}) + public VectorF multiplied_withVector(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiplied"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + return matrix.multiplied(vector); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"multiply"}) + public void multiply_withMatrix(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiply"); + MatrixF matrix1 = (MatrixF) checkArg(matrix1Arg, MatrixF.class, "matrix1"); + MatrixF matrix2 = (MatrixF) checkArg(matrix2Arg, MatrixF.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + matrix1.multiply(matrix2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"multiply"}) + public void multiply_withScale(Object matrixArg, float scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiply"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + matrix.multiply(scale); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"multiply"}) + public void multiply_withVector(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiply"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + matrix.multiply(vector); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"toVector"}) + public VectorF toVector(Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toVector"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.toVector(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"added"}) + public MatrixF added_withMatrix(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".added"); + MatrixF matrix1 = (MatrixF) checkArg(matrix1Arg, MatrixF.class, "matrix1"); + MatrixF matrix2 = (MatrixF) checkArg(matrix2Arg, MatrixF.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + return matrix1.added(matrix2); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"added"}) + public MatrixF added_withVector(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".added"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + return matrix.added(vector); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"add"}) + public void add_withMatrix(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".add"); + MatrixF matrix1 = (MatrixF) checkArg(matrix1Arg, MatrixF.class, "matrix1"); + MatrixF matrix2 = (MatrixF) checkArg(matrix2Arg, MatrixF.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + matrix1.add(matrix2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"add"}) + public void add_withVector(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".add"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + matrix.add(vector); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"subtracted"}) + public MatrixF subtracted_withMatrix(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtracted"); + MatrixF matrix1 = (MatrixF) checkArg(matrix1Arg, MatrixF.class, "matrix1"); + MatrixF matrix2 = (MatrixF) checkArg(matrix2Arg, MatrixF.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + return matrix1.subtracted(matrix2); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"subtracted"}) + public MatrixF subtracted_withVector(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtracted"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + return matrix.subtracted(vector); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"subtract"}) + public void subtract_withMatrix(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtract"); + MatrixF matrix1 = (MatrixF) checkArg(matrix1Arg, MatrixF.class, "matrix1"); + MatrixF matrix2 = (MatrixF) checkArg(matrix2Arg, MatrixF.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + matrix1.subtract(matrix2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"subtract"}) + public void subtract_withVector(Object matrixArg, Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtract"); + MatrixF matrix = checkMatrixF(matrixArg); + VectorF vector = checkVectorF(vectorArg); + if (matrix != null && vector != null) { + matrix.subtract(vector); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"getTranslation"}) + public VectorF getTranslation(Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".getTranslation"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.getTranslation(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MatrixF.class}, methodName = {"inverted"}) + public MatrixF inverted(Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".inverted"); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return matrix.inverted(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MaxSonarI2CXLAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MaxSonarI2CXLAccess.java new file mode 100644 index 000000000000..1a8708eea86a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MaxSonarI2CXLAccess.java @@ -0,0 +1,193 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.hardware.maxbotix.MaxSonarI2CXL; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class MaxSonarI2CXLAccess extends HardwareAccess { + private final MaxSonarI2CXL maxSonarI2CXL; + + MaxSonarI2CXLAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, MaxSonarI2CXL.class); + this.maxSonarI2CXL = (MaxSonarI2CXL) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"getDistanceSync"}) + public double getDistanceSync(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistanceSync"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + if (distanceUnit != null) { + return this.maxSonarI2CXL.getDistanceSync(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"getDistanceSync"}) + public double getDistanceSync_withDelay(int sonarPropagationDelayMs, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistanceSync"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + if (distanceUnit != null) { + return this.maxSonarI2CXL.getDistanceSync(sonarPropagationDelayMs, distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"getDistanceAsync"}) + public double getDistanceAsync(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistanceAsync"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + if (distanceUnit != null) { + return this.maxSonarI2CXL.getDistanceAsync(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"getDistanceAsync"}) + public double getDistanceAsync_withDelay(int sonarPropagationDelayMs, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistanceAsync"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "distanceUnit"); + if (distanceUnit != null) { + return this.maxSonarI2CXL.getDistanceAsync(sonarPropagationDelayMs, distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.maxSonarI2CXL.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.maxSonarI2CXL.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.maxSonarI2CXL.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.maxSonarI2CXL.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {MaxSonarI2CXL.class}, methodName = {"writeI2cAddrToSensorEEPROM"}) + public void writeI2cAddrToSensorEEPROM(byte addr) { + try { + startBlockExecution(BlockType.FUNCTION, ".writeI2cAddrToSensorEEPROM"); + this.maxSonarI2CXL.writeI2cAddrToSensorEEPROM(addr); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MiscAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MiscAccess.java new file mode 100644 index 000000000000..239f754ef0c9 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MiscAccess.java @@ -0,0 +1,516 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareUtil; +import com.qualcomm.hardware.limelightvision.LLResult; +import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode; +import com.qualcomm.robotcore.eventloop.opmode.OpMode; +import com.qualcomm.robotcore.hardware.Gamepad; +import com.qualcomm.robotcore.hardware.HardwareMap; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import org.firstinspires.ftc.robotcore.external.JavaUtil; +import org.firstinspires.ftc.robotcore.external.Telemetry; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; +import org.firstinspires.ftc.robotcore.internal.opmode.BlocksClassFilter; + +/* JADX INFO: loaded from: classes8.dex */ +class MiscAccess extends Access { + private HardwareMap hardwareMap; + + MiscAccess(BlocksOpMode blocksOpMode, String identifier, HardwareMap hardwareMap) { + super(blocksOpMode, identifier, ""); + this.hardwareMap = hardwareMap; + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public Object getNull() { + try { + startBlockExecution(BlockType.SPECIAL, "null"); + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } catch (Throwable e2) { + endBlockExecution(); + throw e2; + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public boolean isNull(Object value) { + try { + startBlockExecution(BlockType.FUNCTION, "isNull"); + return value == null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public boolean isNotNull(Object value) { + try { + startBlockExecution(BlockType.FUNCTION, "isNotNull"); + return value != null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String formatNumber(double number, int precision) { + try { + startBlockExecution(BlockType.FUNCTION, "formatNumber"); + return JavaUtil.formatNumber(number, precision); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String formatNumber_withWidth(double number, int width, int precision) { + try { + startBlockExecution(BlockType.FUNCTION, "formatNumber"); + return JavaUtil.formatNumber(number, width, precision); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public double roundDecimal(double number, int precision) { + try { + startBlockExecution(BlockType.FUNCTION, "roundDecimal"); + return Double.parseDouble(JavaUtil.formatNumber(number, precision)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public Object callJava(String methodLookupString, String json, Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9, Object a10, Object a11, Object a12, Object a13, Object a14, Object a15, Object a16, Object a17, Object a18, Object a19, Object a20) { + try { + startBlockExecution(BlockType.FUNCTION, "Java method " + BlocksClassFilter.getUserVisibleName(methodLookupString)); + try { + return callJavaVarArgs(methodLookupString, json, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public boolean callJava_boolean(String methodLookupString, String json, Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9, Object a10, Object a11, Object a12, Object a13, Object a14, Object a15, Object a16, Object a17, Object a18, Object a19, Object a20) { + try { + startBlockExecution(BlockType.FUNCTION, "Java method " + BlocksClassFilter.getUserVisibleName(methodLookupString)); + try { + return ((Boolean) callJavaVarArgs(methodLookupString, json, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)).booleanValue(); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String callJava_String(String methodLookupString, String json, Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9, Object a10, Object a11, Object a12, Object a13, Object a14, Object a15, Object a16, Object a17, Object a18, Object a19, Object a20) { + try { + startBlockExecution(BlockType.FUNCTION, "Java method " + BlocksClassFilter.getUserVisibleName(methodLookupString)); + try { + Object result = callJavaVarArgs(methodLookupString, json, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); + return result == null ? null : result.toString(); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + } + } + + private Object callJavaVarArgs(String methodLookupString, String json, Object... objectArgs) throws Throwable { + Method method = BlocksClassFilter.getInstance().findStaticMethod(methodLookupString); + if (method == null) { + throw new RuntimeException("Could not find method " + methodLookupString + "."); + } + Object[] jsonArgs = (Object[]) SimpleGson.getInstance().fromJson(json, Object[].class); + Class[] parameterTypes = method.getParameterTypes(); + if (jsonArgs.length != parameterTypes.length || objectArgs.length < parameterTypes.length) { + throw new RuntimeException("Number of arguments does not match required number of parameters."); + } + String[] parameterLabels = HardwareUtil.getParameterLabels(method); + List gamepads = new ArrayList<>(); + Object[] args = new Object[parameterTypes.length]; + for (int i = 0; i < args.length; i++) { + args[i] = determineArgument(adjustParameterType(parameterTypes[i]), objectArgs[i], jsonArgs[i], parameterLabels[i], gamepads); + } + try { + return method.invoke(null, args); + } catch (InvocationTargetException e) { + Throwable cause = e.getCause(); + if (cause != null) { + throw cause; + } + throw e; + } catch (Exception e2) { + throw new RuntimeException("Unable to invoke method " + methodLookupString + ".", e2); + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public Object callHardware(String deviceName, String methodLookupString, String json, Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9, Object a10, Object a11, Object a12, Object a13, Object a14, Object a15, Object a16, Object a17, Object a18, Object a19, Object a20) { + try { + startBlockExecution(BlockType.FUNCTION, "Hardware method " + BlocksClassFilter.getUserVisibleName(methodLookupString)); + try { + return callHardwareVarArgs(deviceName, methodLookupString, json, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public boolean callHardware_boolean(String deviceName, String methodLookupString, String json, Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9, Object a10, Object a11, Object a12, Object a13, Object a14, Object a15, Object a16, Object a17, Object a18, Object a19, Object a20) { + try { + startBlockExecution(BlockType.FUNCTION, "Hardware method " + BlocksClassFilter.getUserVisibleName(methodLookupString)); + try { + return ((Boolean) callHardwareVarArgs(deviceName, methodLookupString, json, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)).booleanValue(); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String callHardware_String(String deviceName, String methodLookupString, String json, Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9, Object a10, Object a11, Object a12, Object a13, Object a14, Object a15, Object a16, Object a17, Object a18, Object a19, Object a20) { + try { + startBlockExecution(BlockType.FUNCTION, "Hardware method " + BlocksClassFilter.getUserVisibleName(methodLookupString)); + try { + Object result = callHardwareVarArgs(deviceName, methodLookupString, json, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); + return result == null ? null : result.toString(); + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + } + } + + private Object callHardwareVarArgs(String deviceName, String methodLookupString, String json, Object... objectArgs) throws Throwable { + MiscAccess miscAccess = this; + Method method = BlocksClassFilter.getInstance().findHardwareMethod(methodLookupString); + if (method == null) { + throw new RuntimeException("Could not find method " + methodLookupString + "."); + } + Object hardwareDevice = miscAccess.hardwareMap.get((Class) method.getDeclaringClass(), deviceName); + Object[] jsonArgs = (Object[]) SimpleGson.getInstance().fromJson(json, Object[].class); + Class[] parameterTypes = method.getParameterTypes(); + if (jsonArgs.length != parameterTypes.length || objectArgs.length < parameterTypes.length) { + throw new RuntimeException("Number of arguments does not match required number of parameters."); + } + String[] parameterLabels = HardwareUtil.getParameterLabels(method); + List gamepads = new ArrayList<>(); + Object[] args = new Object[parameterTypes.length]; + int i = 0; + while (i < args.length) { + Object[] args2 = args; + args2[i] = determineArgument(miscAccess.adjustParameterType(parameterTypes[i]), objectArgs[i], jsonArgs[i], parameterLabels[i], gamepads); + i++; + args = args2; + parameterTypes = parameterTypes; + miscAccess = this; + } + try { + return method.invoke(hardwareDevice, args); + } catch (InvocationTargetException e) { + Throwable cause = e.getCause(); + if (cause != null) { + throw cause; + } + throw e; + } catch (Exception e2) { + throw new RuntimeException("Unable to invoke method " + methodLookupString + ".", e2); + } + } + + private Class adjustParameterType(Class parameterType) { + if (parameterType.equals(Boolean.TYPE)) { + return Boolean.class; + } + if (parameterType.equals(Character.TYPE)) { + return Character.class; + } + if (parameterType.equals(Byte.TYPE)) { + return Byte.class; + } + if (parameterType.equals(Short.TYPE)) { + return Short.class; + } + if (parameterType.equals(Integer.TYPE)) { + return Integer.class; + } + if (parameterType.equals(Long.TYPE)) { + return Long.class; + } + if (parameterType.equals(Float.TYPE)) { + return Float.class; + } + if (parameterType.equals(Double.TYPE)) { + return Double.class; + } + return parameterType; + } + + private Object determineArgument(Class parameterType, Object objectArg, Object jsonArg, String parameterLabel, List gamepads) { + if (parameterType.equals(LinearOpMode.class) || parameterType.equals(OpMode.class)) { + return this.blocksOpMode; + } + if (parameterType.equals(HardwareMap.class)) { + return this.blocksOpMode.hardwareMap; + } + if (parameterType.equals(Telemetry.class)) { + return this.blocksOpMode.telemetry; + } + if (parameterType.equals(Gamepad.class)) { + if (parameterLabel.equals("gamepad1")) { + return this.blocksOpMode.gamepad1; + } + if (parameterLabel.equals("gamepad2")) { + return this.blocksOpMode.gamepad2; + } + if (gamepads.isEmpty()) { + gamepads.add(this.blocksOpMode.gamepad1); + gamepads.add(this.blocksOpMode.gamepad2); + } + return gamepads.remove(0); + } + if (objectArg == null) { + if (jsonArg == null) { + return null; + } + if (parameterType.equals(jsonArg.getClass())) { + return jsonArg; + } + if (jsonArg instanceof String) { + try { + return coerceStringValue((String) jsonArg, parameterType); + } catch (Exception e) { + try { + return parameterType.cast(jsonArg); + } catch (Exception e2) { + } + } + } + } else { + if (parameterType.equals(objectArg.getClass())) { + return objectArg; + } + try { + return parameterType.cast(objectArg); + } catch (Exception e3) { + } + } + throw new RuntimeException("Unable to convert " + objectArg + " and/or " + jsonArg + " to " + parameterType + "."); + } + + private Object coerceStringValue(String value, Class parameterType) { + if (parameterType.equals(Character.class)) { + if (value.length() >= 1) { + return new Character(value.charAt(0)); + } + } else { + if (parameterType.equals(Byte.class)) { + return Byte.valueOf((byte) round(value)); + } + if (parameterType.equals(Short.class)) { + return Short.valueOf((short) round(value)); + } + if (parameterType.equals(Integer.class)) { + return Integer.valueOf((int) round(value)); + } + if (parameterType.equals(Long.class)) { + return Long.valueOf(round(value)); + } + if (parameterType.equals(Float.class)) { + return Float.valueOf(value); + } + if (parameterType.equals(Double.class)) { + return Double.valueOf(value); + } + if (parameterType.isEnum()) { + return coerceToEnum(value, parameterType); + } + } + throw new RuntimeException("Unable to convert \"" + value + "\" to " + parameterType); + } + + private Object coerceToEnum(String value, Class parameterType) { + return checkArg(value, parameterType, parameterType.getSimpleName()); + } + + private static long round(String value) { + return Math.round(Double.valueOf(value).doubleValue()); + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public int listLength(Object o) { + try { + startBlockExecution(BlockType.SPECIAL, "length of"); + return JavaUtil.listLength(o); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public boolean listIsEmpty(Object o) { + try { + startBlockExecution(BlockType.SPECIAL, "is empty"); + return JavaUtil.listIsEmpty(o); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String huskyLensBlockToText(String json) { + try { + startBlockExecution(BlockType.FUNCTION, "HuskyLens.Block", "toText"); + return HuskyLensAccess.huskyLensBlockToText(json); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String huskyLensArrowToText(String json) { + try { + startBlockExecution(BlockType.FUNCTION, "HuskyLens.Arrow", "toText"); + return HuskyLensAccess.huskyLensArrowToText(json); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public String objectToJson(Object o) { + try { + if (o instanceof LLResult) { + return LLResultAccess.llResultToJson((LLResult) o); + } + return toJson(o); + } catch (Throwable e) { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cCompassSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cCompassSensorAccess.java new file mode 100644 index 000000000000..30fc07ba7137 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cCompassSensorAccess.java @@ -0,0 +1,288 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cCompassSensor; +import com.qualcomm.robotcore.hardware.CompassSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import org.firstinspires.ftc.robotcore.external.navigation.Acceleration; +import org.firstinspires.ftc.robotcore.external.navigation.MagneticFlux; + +/* JADX INFO: loaded from: classes8.dex */ +class MrI2cCompassSensorAccess extends HardwareAccess { + private final ModernRoboticsI2cCompassSensor mrI2cCompassSensor; + + MrI2cCompassSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, ModernRoboticsI2cCompassSensor.class); + this.mrI2cCompassSensor = (ModernRoboticsI2cCompassSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getDirection"}) + public double getDirection() { + try { + startBlockExecution(BlockType.GETTER, ".Direction"); + return this.mrI2cCompassSensor.getDirection(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.mrI2cCompassSensor.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.mrI2cCompassSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.mrI2cCompassSensor.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.mrI2cCompassSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getAcceleration"}) + public double getXAccel() { + try { + startBlockExecution(BlockType.GETTER, ".XAccel"); + Acceleration acceleration = this.mrI2cCompassSensor.getAcceleration(); + if (acceleration != null) { + return acceleration.xAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getAcceleration"}) + public double getYAccel() { + try { + startBlockExecution(BlockType.GETTER, ".YAccel"); + Acceleration acceleration = this.mrI2cCompassSensor.getAcceleration(); + if (acceleration != null) { + return acceleration.yAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getAcceleration"}) + public double getZAccel() { + try { + startBlockExecution(BlockType.GETTER, ".ZAccel"); + Acceleration acceleration = this.mrI2cCompassSensor.getAcceleration(); + if (acceleration != null) { + return acceleration.zAccel; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getMagneticFlux"}) + public double getXMagneticFlux() { + try { + startBlockExecution(BlockType.GETTER, ".XMagneticFlux"); + MagneticFlux magneticFlux = this.mrI2cCompassSensor.getMagneticFlux(); + if (magneticFlux != null) { + return magneticFlux.x; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getMagneticFlux"}) + public double getYMagneticFlux() { + try { + startBlockExecution(BlockType.GETTER, ".YMagneticFlux"); + MagneticFlux magneticFlux = this.mrI2cCompassSensor.getMagneticFlux(); + if (magneticFlux != null) { + return magneticFlux.y; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"getMagneticFlux"}) + public double getZMagneticFlux() { + try { + startBlockExecution(BlockType.GETTER, ".ZMagneticFlux"); + MagneticFlux magneticFlux = this.mrI2cCompassSensor.getMagneticFlux(); + if (magneticFlux != null) { + return magneticFlux.z; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"setMode"}) + public void setMode(String compassModeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setMode"); + CompassSensor.CompassMode compassMode = (CompassSensor.CompassMode) checkArg(compassModeString, CompassSensor.CompassMode.class, "compassMode"); + if (compassMode != null) { + this.mrI2cCompassSensor.setMode(compassMode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"isCalibrating"}) + public boolean isCalibrating() { + try { + startBlockExecution(BlockType.FUNCTION, ".isCalibrating"); + return this.mrI2cCompassSensor.isCalibrating(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cCompassSensor.class}, methodName = {"calibrationFailed"}) + public boolean calibrationFailed() { + try { + startBlockExecution(BlockType.FUNCTION, ".calibrationFailed"); + return this.mrI2cCompassSensor.calibrationFailed(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cRangeSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cRangeSensorAccess.java new file mode 100644 index 000000000000..e19d50d13e10 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/MrI2cRangeSensorAccess.java @@ -0,0 +1,226 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsI2cRangeSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.I2cAddr; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class MrI2cRangeSensorAccess extends HardwareAccess { + private final ModernRoboticsI2cRangeSensor mrI2cRangeSensor; + + MrI2cRangeSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, ModernRoboticsI2cRangeSensor.class); + this.mrI2cRangeSensor = (ModernRoboticsI2cRangeSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"getLightDetected"}) + public double getLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".LightDetected"); + return this.mrI2cRangeSensor.getLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"getRawLightDetected"}) + public double getRawLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetected"); + return this.mrI2cRangeSensor.getRawLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"getRawLightDetectedMax"}) + public double getRawLightDetectedMax() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetectedMax"); + return this.mrI2cRangeSensor.getRawLightDetectedMax(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"rawUltrasonic"}) + public double getRawUltrasonic() { + try { + startBlockExecution(BlockType.GETTER, ".RawUltrasonic"); + return this.mrI2cRangeSensor.rawUltrasonic(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"rawOptical"}) + public double getRawOptical() { + try { + startBlockExecution(BlockType.GETTER, ".RawOptical"); + return this.mrI2cRangeSensor.rawOptical(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"cmUltrasonic"}) + public double getCmUltrasonic() { + try { + startBlockExecution(BlockType.GETTER, ".CmUltrasonic"); + return this.mrI2cRangeSensor.cmUltrasonic(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"cmOptical"}) + public double getCmOptical() { + try { + startBlockExecution(BlockType.GETTER, ".CmOptical"); + return this.mrI2cRangeSensor.cmOptical(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"getDistance"}) + public double getDistance(String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getDistance"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, "unit"); + if (distanceUnit != null) { + return this.mrI2cRangeSensor.getDistance(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress7Bit(int i2cAddr7Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress7Bit"); + this.mrI2cRangeSensor.setI2cAddress(I2cAddr.create7bit(i2cAddr7Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress7Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress7Bit"); + I2cAddr i2cAddr = this.mrI2cRangeSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get7Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"setI2cAddress"}) + public void setI2cAddress8Bit(int i2cAddr8Bit) { + try { + startBlockExecution(BlockType.SETTER, ".I2cAddress8Bit"); + this.mrI2cRangeSensor.setI2cAddress(I2cAddr.create8bit(i2cAddr8Bit)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsI2cRangeSensor.class}, methodName = {"getI2cAddress"}) + public int getI2cAddress8Bit() { + try { + startBlockExecution(BlockType.GETTER, ".I2cAddress8Bit"); + I2cAddr i2cAddr = this.mrI2cRangeSensor.getI2cAddress(); + if (i2cAddr != null) { + return i2cAddr.get8Bit(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/NavigationAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/NavigationAccess.java new file mode 100644 index 000000000000..68713feaffba --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/NavigationAccess.java @@ -0,0 +1,108 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.external.ClassFactory; +import org.firstinspires.ftc.robotcore.external.hardware.camera.BuiltinCameraDirection; +import org.firstinspires.ftc.robotcore.external.hardware.camera.CameraName; +import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.UnnormalizedAngleUnit; + +/* JADX INFO: loaded from: classes8.dex */ +class NavigationAccess extends Access { + private final HardwareMap hardwareMap; + + NavigationAccess(BlocksOpMode blocksOpMode, String identifier, HardwareMap hardwareMap) { + super(blocksOpMode, identifier, ""); + this.hardwareMap = hardwareMap; + } + + @JavascriptInterface + @Block(classes = {AngleUnit.class}, methodName = {"normalize"}) + public double angleUnit_normalize(double angle, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, "AngleUnit", ".normalize"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return angleUnit.normalize(angle); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {AngleUnit.class}, methodName = {"fromUnit"}) + public double angleUnit_convert(double angle, String fromAngleUnitString, String toAngleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, "AngleUnit", ".convert"); + AngleUnit fromAngleUnit = (AngleUnit) checkArg(fromAngleUnitString, AngleUnit.class, "from"); + AngleUnit toAngleUnit = (AngleUnit) checkArg(toAngleUnitString, AngleUnit.class, "to"); + if (fromAngleUnit != null && toAngleUnit != null) { + return toAngleUnit.fromUnit(fromAngleUnit, angle); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {UnnormalizedAngleUnit.class}, methodName = {"fromUnit"}) + public double unnormalizedAngleUnit_convert(double angle, String fromAngleUnitString, String toAngleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, "UnnormalizedAngleUnit", ".convert"); + AngleUnit fromAngleUnit = (AngleUnit) checkArg(fromAngleUnitString, AngleUnit.class, "from"); + AngleUnit toAngleUnit = (AngleUnit) checkArg(toAngleUnitString, AngleUnit.class, "to"); + if (fromAngleUnit != null && toAngleUnit != null) { + return toAngleUnit.getUnnormalized().fromUnit(fromAngleUnit.getUnnormalized(), angle); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + private BuiltinCameraDirection checkBuiltinCameraDirection(String cameraDirectionString) { + return (BuiltinCameraDirection) checkArg(cameraDirectionString, BuiltinCameraDirection.class, "cameraDirection"); + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public BuiltinCameraDirection getBuiltinCameraDirection(String cameraDirectionString) { + return checkBuiltinCameraDirection(cameraDirectionString); + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public WebcamName getWebcamName(String webcamNameString) { + return (WebcamName) this.hardwareMap.tryGet(WebcamName.class, webcamNameString); + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public CameraName createSwitchableCameraNameForAllWebcams() { + return ClassFactory.createSwitchableCameraNameForAllWebcams(this.hardwareMap); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OctoQuadAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OctoQuadAccess.java new file mode 100644 index 000000000000..9f3054012088 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OctoQuadAccess.java @@ -0,0 +1,523 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.digitalchickenlabs.OctoQuad; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.util.RobotLog; +import com.sun.tools.doclint.DocLint; + +/* JADX INFO: loaded from: classes8.dex */ +class OctoQuadAccess extends HardwareAccess { + private final OctoQuad octoQuad; + + OctoQuadAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, OctoQuad.class); + this.octoQuad = (OctoQuad) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getChipId"}) + public int getChipId() { + try { + startBlockExecution(BlockType.GETTER, ".ChipId"); + return this.octoQuad.getChipId(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getFirmwareVersionString"}) + public String getFirmwareVersionString() { + try { + startBlockExecution(BlockType.GETTER, ".FirmwareVersionString"); + return this.octoQuad.getFirmwareVersionString(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"resetAllPositions"}) + public void resetAllPositions() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetAllPositions"); + this.octoQuad.resetAllPositions(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"resetSinglePosition"}) + public void resetSinglePosition(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".resetSinglePosition"); + this.octoQuad.resetSinglePosition(index); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setSingleEncoderDirection"}) + public void setSingleEncoderDirection(int index, String encoderDirectionString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setEncoderDirection"); + OctoQuad.EncoderDirection encoderDirection = (OctoQuad.EncoderDirection) checkArg(encoderDirectionString, OctoQuad.EncoderDirection.class, "direction"); + if (encoderDirection != null) { + this.octoQuad.setSingleEncoderDirection(index, encoderDirection); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getSingleEncoderDirection"}) + public String getSingleEncoderDirection(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".SingleEncoderDirection"); + OctoQuad.EncoderDirection encoderDirection = this.octoQuad.getSingleEncoderDirection(index); + if (encoderDirection != null) { + return encoderDirection.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setAllVelocitySampleIntervals"}) + public void setAllVelocitySampleIntervals(int intervalMillis) { + try { + startBlockExecution(BlockType.FUNCTION, ".setAllVelocitySampleIntervals"); + this.octoQuad.setAllVelocitySampleIntervals(intervalMillis); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setSingleVelocitySampleInterval"}) + public void setSingleVelocitySampleInterval(int index, int intervalMillis) { + try { + startBlockExecution(BlockType.FUNCTION, ".SingleVelocitySampleInterval"); + this.octoQuad.setSingleVelocitySampleInterval(index, intervalMillis); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getSingleVelocitySampleInterval"}) + public int getSingleVelocitySampleInterval(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".getSingleVelocitySampleInterval"); + return this.octoQuad.getSingleVelocitySampleInterval(index); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setSingleChannelPulseWidthParams"}) + public void setSingleChannelPulseWidthParams(int index, int min_length_us, int max_length_us) { + try { + startBlockExecution(BlockType.FUNCTION, ".setSingleChannelPulseWidthParams"); + this.octoQuad.setSingleChannelPulseWidthParams(index, min_length_us, max_length_us); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"resetEverything"}) + public void resetEverything() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetEverything"); + this.octoQuad.resetEverything(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setChannelBankConfig"}) + public void setChannelBankConfig(String channelBankConfigString) { + try { + startBlockExecution(BlockType.SETTER, ".ChannelBankConfig"); + OctoQuad.ChannelBankConfig channelBankConfig = (OctoQuad.ChannelBankConfig) checkArg(channelBankConfigString, OctoQuad.ChannelBankConfig.class, ""); + if (channelBankConfig != null) { + this.octoQuad.setChannelBankConfig(channelBankConfig); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getChannelBankConfig"}) + public String getChannelBankConfig() { + try { + startBlockExecution(BlockType.GETTER, ".ChannelBankConfig"); + OctoQuad.ChannelBankConfig channelBankConfig = this.octoQuad.getChannelBankConfig(); + if (channelBankConfig != null) { + return channelBankConfig.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setI2cRecoveryMode"}) + public void setI2cRecoveryMode(String i2cRecoveryModeString) { + try { + startBlockExecution(BlockType.SETTER, ".I2cRecoveryMode"); + OctoQuad.I2cRecoveryMode i2cRecoveryMode = (OctoQuad.I2cRecoveryMode) checkArg(i2cRecoveryModeString, OctoQuad.I2cRecoveryMode.class, ""); + if (i2cRecoveryMode != null) { + this.octoQuad.setI2cRecoveryMode(i2cRecoveryMode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getI2cRecoveryMode"}) + public String getI2cRecoveryMode() { + try { + startBlockExecution(BlockType.GETTER, ".I2cRecoveryMode"); + OctoQuad.I2cRecoveryMode i2cRecoveryMode = this.octoQuad.getI2cRecoveryMode(); + if (i2cRecoveryMode != null) { + return i2cRecoveryMode.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"saveParametersToFlash"}) + public void saveParametersToFlash() { + try { + startBlockExecution(BlockType.FUNCTION, ".saveParametersToFlash"); + this.octoQuad.saveParametersToFlash(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setCachingMode"}) + public void setCachingMode(String cachingModeString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setCachingMode"); + if (cachingModeString.equals("NONE")) { + reportWarning("OctoQuad.CachingMode NONE is obsolete."); + } else { + OctoQuad.CachingMode cachingMode = (OctoQuad.CachingMode) checkArg(cachingModeString, OctoQuad.CachingMode.class, "mode"); + if (cachingMode != null) { + this.octoQuad.setCachingMode(cachingMode); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"refreshCache"}) + public void refreshCache() { + try { + startBlockExecution(BlockType.FUNCTION, ".refreshCache"); + this.octoQuad.refreshCache(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"readSinglePosition_Caching"}) + public int readSinglePosition_Caching(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".readSinglePosition_Caching"); + return this.octoQuad.readSinglePosition_Caching(index); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"readSingleVelocity_Caching"}) + public int readSingleVelocity_Caching(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".readSingleVelocity_Caching"); + return this.octoQuad.readSingleVelocity_Caching(index); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setSingleChannelPulseWidthTracksWrap"}) + public void setSingleChannelPulseWidthTracksWrap(int index, boolean trackWrap) { + try { + startBlockExecution(BlockType.FUNCTION, ".setSingleChannelPulseWidthTracksWrap"); + this.octoQuad.setSingleChannelPulseWidthTracksWrap(index, trackWrap); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getSingleChannelPulseWidthTracksWrap"}) + public boolean getSingleChannelPulseWidthTracksWrap(int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".getSingleChannelPulseWidthTracksWrap"); + return this.octoQuad.getSingleChannelPulseWidthTracksWrap(index); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getLocalizerHeadingAxisChoice"}) + public String getLocalizerHeadingAxisChoice() { + try { + startBlockExecution(BlockType.GETTER, ".LocalizerYawAxis"); + OctoQuad.LocalizerYawAxis localizerYawAxis = this.octoQuad.getLocalizerHeadingAxisChoice(); + if (localizerYawAxis != null) { + return localizerYawAxis.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"getLocalizerStatus"}) + public String getLocalizerStatus() { + try { + startBlockExecution(BlockType.GETTER, ".LocalizerStatus"); + OctoQuad.LocalizerStatus localizerStatus = this.octoQuad.getLocalizerStatus(); + if (localizerStatus != null) { + return localizerStatus.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setAllLocalizerParameters"}) + public void setAllLocalizerParameters(int portX, int portY, float ticksPerMM_x, float ticksPerMM_y, float tcpOffsetMM_X, float tcpOffsetMM_Y, float headingScalar, int velocityIntervalMs) { + try { + startBlockExecution(BlockType.FUNCTION, ".setAllLocalizerParameters"); + this.octoQuad.setAllLocalizerParameters(portX, portY, ticksPerMM_x, ticksPerMM_y, tcpOffsetMM_X, tcpOffsetMM_Y, headingScalar, velocityIntervalMs); + } finally { + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"readLocalizerData"}) + public String readLocalizerData() { + try { + startBlockExecution(BlockType.FUNCTION, ".readLocalizerData"); + OctoQuad.LocalizerDataBlock localizerDataBlock = this.octoQuad.readLocalizerData(); + return localizerDataBlockToJson(localizerDataBlock); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + private static String localizerDataBlockToJson(OctoQuad.LocalizerDataBlock localizerDataBlock) { + String originalJson = toJson(localizerDataBlock); + if (!originalJson.endsWith("}")) { + RobotLog.ww("OctoQuadAccess", "Unexpected: result from toJson(LocalizerDataBlock) does not end with '}'!"); + return originalJson; + } + String json = originalJson.substring(0, originalJson.length() - 1) + DocLint.TAGS_SEPARATOR + "\"isDataValid\":" + toJson(Boolean.valueOf(localizerDataBlock.isDataValid())) + "}"; + return json; + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setLocalizerPose"}) + public void setLocalizerPose(int posX_mm, int posY_mm, float heading_rad) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLocalizerPose"); + this.octoQuad.setLocalizerPose(posX_mm, posY_mm, heading_rad); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"setLocalizerHeading"}) + public void setLocalizerHeading(float heading_rad) { + try { + startBlockExecution(BlockType.FUNCTION, ".setLocalizerHeading"); + this.octoQuad.setLocalizerHeading(heading_rad); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OctoQuad.class}, methodName = {"resetLocalizerAndCalibrateIMU"}) + public void resetLocalizerAndCalibrateIMU() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetLocalizerAndCalibrateIMU"); + this.octoQuad.resetLocalizerAndCalibrateIMU(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpenGLMatrixAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpenGLMatrixAccess.java new file mode 100644 index 000000000000..05cb728cbbd0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpenGLMatrixAccess.java @@ -0,0 +1,413 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.OpenGLMatrix; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; + +/* JADX INFO: loaded from: classes8.dex */ +class OpenGLMatrixAccess extends Access { + OpenGLMatrixAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "OpenGLMatrix"); + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, constructor = true) + public OpenGLMatrix create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new OpenGLMatrix(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, constructor = true) + public OpenGLMatrix create_withMatrixF(Object matrixArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + MatrixF matrix = checkMatrixF(matrixArg); + if (matrix != null) { + return new OpenGLMatrix(matrix); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"rotation"}) + public OpenGLMatrix rotation(String angleUnitString, float angle, float dx, float dy, float dz) { + try { + startBlockExecution(BlockType.FUNCTION, ".rotation"); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return OpenGLMatrix.rotation(angleUnit, angle, dx, dy, dz); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"rotation"}) + public OpenGLMatrix rotation_withAxesArgs(String axesReferenceString, String axesOrderString, String angleUnitString, float firstAngle, float secondAngle, float thirdAngle) { + try { + startBlockExecution(BlockType.FUNCTION, ".rotation"); + AxesReference axesReference = checkAxesReference(axesReferenceString); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference != null && axesOrder != null && angleUnit != null) { + return OpenGLMatrix.rotation(axesReference, axesOrder, angleUnit, firstAngle, secondAngle, thirdAngle); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"translation"}) + public OpenGLMatrix translation(float dx, float dy, float dz) { + try { + startBlockExecution(BlockType.FUNCTION, ".translation"); + return OpenGLMatrix.translation(dx, dy, dz); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"identityMatrix"}) + public OpenGLMatrix identityMatrix() { + try { + startBlockExecution(BlockType.FUNCTION, ".identityMatrix"); + return OpenGLMatrix.identityMatrix(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"scale"}) + public void scale_with3(Object matrixArg, float scaleX, float scaleY, float scaleZ) { + try { + startBlockExecution(BlockType.FUNCTION, ".scale"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + if (matrix != null) { + matrix.scale(scaleX, scaleY, scaleZ); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"scale"}) + public void scale_with1(Object matrixArg, float scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".scale"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + if (matrix != null) { + matrix.scale(scale); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"translate"}) + public void translate(Object matrixArg, float dx, float dy, float dz) { + try { + startBlockExecution(BlockType.FUNCTION, ".translate"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + if (matrix != null) { + matrix.translate(dx, dy, dz); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"rotate"}) + public void rotate(Object matrixArg, String angleUnitString, float angle, float dx, float dy, float dz) { + try { + startBlockExecution(BlockType.FUNCTION, ".rotate"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (matrix != null && angleUnit != null) { + matrix.rotate(angleUnit, angle, dx, dy, dz); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"rotate"}) + public void rotate_withAxesArgs(Object matrixArg, String axesReferenceString, String axesOrderString, String angleUnitString, float firstAngle, float secondAngle, float thirdAngle) { + OpenGLMatrix matrix; + try { + startBlockExecution(BlockType.FUNCTION, ".rotate"); + matrix = checkOpenGLMatrix(matrixArg); + } catch (Throwable th) { + e = th; + } + try { + AxesReference axesReference = checkAxesReference(axesReferenceString); + try { + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + try { + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (matrix != null && axesReference != null && axesOrder != null && angleUnit != null) { + matrix.rotate(axesReference, axesOrder, angleUnit, firstAngle, secondAngle, thirdAngle); + } + } catch (Throwable th2) { + e = th2; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th3) { + e = th3; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th4) { + e = th4; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"scaled"}) + public OpenGLMatrix scaled_with3(Object matrixArg, float scaleX, float scaleY, float scaleZ) { + try { + startBlockExecution(BlockType.FUNCTION, ".scaled"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + if (matrix != null) { + return matrix.scaled(scaleX, scaleY, scaleZ); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"scaled"}) + public OpenGLMatrix scaled_with1(Object matrixArg, float scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".scaled"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + if (matrix != null) { + return matrix.scaled(scale); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"translated"}) + public OpenGLMatrix translated(Object matrixArg, float dx, float dy, float dz) { + try { + startBlockExecution(BlockType.FUNCTION, ".translated"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + if (matrix != null) { + return matrix.translated(dx, dy, dz); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"rotated"}) + public OpenGLMatrix rotated(Object matrixArg, String angleUnitString, float angle, float dx, float dy, float dz) { + try { + startBlockExecution(BlockType.FUNCTION, ".rotated"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (matrix != null && angleUnit != null) { + return matrix.rotated(angleUnit, angle, dx, dy, dz); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"rotated"}) + public OpenGLMatrix rotated_withAxesArgs(Object matrixArg, String axesReferenceString, String axesOrderString, String angleUnitString, float firstAngle, float secondAngle, float thirdAngle) { + try { + startBlockExecution(BlockType.FUNCTION, ".rotated"); + OpenGLMatrix matrix = checkOpenGLMatrix(matrixArg); + try { + AxesReference axesReference = checkAxesReference(axesReferenceString); + try { + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + try { + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (matrix != null && axesReference != null && axesOrder != null && angleUnit != null) { + return matrix.rotated(axesReference, axesOrder, angleUnit, firstAngle, secondAngle, thirdAngle); + } + endBlockExecution(); + return null; + } catch (Throwable th) { + e = th; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th2) { + e = th2; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th3) { + e = th3; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } catch (Throwable th4) { + e = th4; + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"multiplied"}) + public OpenGLMatrix multiplied(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiplied"); + OpenGLMatrix matrix1 = (OpenGLMatrix) checkArg(matrix1Arg, OpenGLMatrix.class, "matrix1"); + OpenGLMatrix matrix2 = (OpenGLMatrix) checkArg(matrix2Arg, OpenGLMatrix.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + return matrix1.multiplied(matrix2); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {OpenGLMatrix.class}, methodName = {"multiply"}) + public void multiply(Object matrix1Arg, Object matrix2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiply"); + OpenGLMatrix matrix1 = (OpenGLMatrix) checkArg(matrix1Arg, OpenGLMatrix.class, "matrix1"); + OpenGLMatrix matrix2 = (OpenGLMatrix) checkArg(matrix2Arg, OpenGLMatrix.class, "matrix2"); + if (matrix1 != null && matrix2 != null) { + matrix1.multiply(matrix2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpencvAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpencvAccess.java new file mode 100644 index 000000000000..63fa7578ce8c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpencvAccess.java @@ -0,0 +1,138 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.vision.opencv.ColorRange; +import org.firstinspires.ftc.vision.opencv.ColorSpace; +import org.firstinspires.ftc.vision.opencv.ImageRegion; +import org.opencv.core.Scalar; + +/* JADX INFO: loaded from: classes8.dex */ +class OpencvAccess extends Access { + OpencvAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, ""); + } + + private ColorSpace checkColorSpace(String colorSpaceString) { + return (ColorSpace) checkArg(colorSpaceString, ColorSpace.class, "colorSpace"); + } + + private Scalar checkScalar(Object scalarArg, String socketName) { + return (Scalar) checkArg(scalarArg, Scalar.class, socketName); + } + + @JavascriptInterface + @Block(classes = {ColorRange.class}, fieldName = {"ARTIFACT_GREEN", "ARTIFACT_PURPLE", "BLUE", "RED", "YELLOW", "GREEN"}) + public ColorRange colorRange(String color) { + try { + startBlockExecution(BlockType.GETTER, "ColorRange", "." + color); + if (color.equals("ARTIFACT_GREEN")) { + return ColorRange.ARTIFACT_GREEN; + } + if (color.equals("ARTIFACT_PURPLE")) { + return ColorRange.ARTIFACT_PURPLE; + } + if (color.equals("BLUE")) { + return ColorRange.BLUE; + } + if (color.equals("RED")) { + return ColorRange.RED; + } + if (color.equals("YELLOW")) { + return ColorRange.YELLOW; + } + if (color.equals("GREEN")) { + return ColorRange.GREEN; + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ColorRange.class}, constructor = true) + public ColorRange createColorRange(String colorSpaceString, Object minArg, Object maxArg) { + try { + startBlockExecution(BlockType.CREATE, "ColorRange", ""); + ColorSpace colorSpace = checkColorSpace(colorSpaceString); + Scalar min = checkScalar(minArg, "min"); + Scalar max = checkScalar(maxArg, "max"); + if (colorSpace != null && min != null && max != null) { + return new ColorRange(colorSpace, min, max); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ImageRegion.class}, methodName = {"asImageCoordinates"}) + public ImageRegion asImageCoordinates(int left, int top, int right, int bottom) { + try { + startBlockExecution(BlockType.FUNCTION, "ImageRegion", ".asImageCoordinates"); + return ImageRegion.asImageCoordinates(left, top, right, bottom); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ImageRegion.class}, methodName = {"asUnityCenterCoordinates"}) + public ImageRegion asUnityCenterCoordinates(double left, double top, double right, double bottom) { + try { + startBlockExecution(BlockType.FUNCTION, "ImageRegion", ".asUnityCenterCoordinates"); + return ImageRegion.asUnityCenterCoordinates(left, top, right, bottom); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ImageRegion.class}, methodName = {"entireFrame"}) + public ImageRegion entireFrame() { + try { + startBlockExecution(BlockType.FUNCTION, "ImageRegion", ".entireFrame"); + return ImageRegion.entireFrame(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Scalar.class}, constructor = true) + public Scalar createScalar_with3(double v0, double v1, double v2) { + try { + startBlockExecution(BlockType.CREATE, "Scalar", ""); + return new Scalar(v0, v1, v2); + } finally { + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpticalDistanceSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpticalDistanceSensorAccess.java new file mode 100644 index 000000000000..c0c0f35282f1 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OpticalDistanceSensorAccess.java @@ -0,0 +1,81 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsAnalogOpticalDistanceSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.OpticalDistanceSensor; + +/* JADX INFO: loaded from: classes8.dex */ +class OpticalDistanceSensorAccess extends HardwareAccess { + private final OpticalDistanceSensor opticalDistanceSensor; + + OpticalDistanceSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, OpticalDistanceSensor.class); + this.opticalDistanceSensor = (OpticalDistanceSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsAnalogOpticalDistanceSensor.class, OpticalDistanceSensor.class}, methodName = {"getLightDetected"}) + public double getLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".LightDetected"); + return this.opticalDistanceSensor.getLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsAnalogOpticalDistanceSensor.class, OpticalDistanceSensor.class}, methodName = {"getRawLightDetected"}) + public double getRawLightDetected() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetected"); + return this.opticalDistanceSensor.getRawLightDetected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsAnalogOpticalDistanceSensor.class, OpticalDistanceSensor.class}, methodName = {"getRawLightDetectedMax"}) + public double getRawLightDetectedMax() { + try { + startBlockExecution(BlockType.GETTER, ".RawLightDetectedMax"); + return this.opticalDistanceSensor.getRawLightDetectedMax(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsAnalogOpticalDistanceSensor.class}, methodName = {"enableLed"}) + public void enableLed(boolean enable) { + try { + startBlockExecution(BlockType.FUNCTION, ".enableLed"); + this.opticalDistanceSensor.enableLed(enable); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OrientationAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OrientationAccess.java new file mode 100644 index 000000000000..536e2bfd71a3 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/OrientationAccess.java @@ -0,0 +1,403 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.OpenGLMatrix; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.AxesOrder; +import org.firstinspires.ftc.robotcore.external.navigation.AxesReference; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; + +/* JADX INFO: loaded from: classes8.dex */ +class OrientationAccess extends Access { + OrientationAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Orientation"); + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"axesReference"}) + public String getAxesReference(Object orientationArg) { + AxesReference axesReference; + try { + startBlockExecution(BlockType.GETTER, ".AxesReference"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null && (axesReference = orientation.axesReference) != null) { + return axesReference.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"axesOrder"}) + public String getAxesOrder(Object orientationArg) { + AxesOrder axesOrder; + try { + startBlockExecution(BlockType.GETTER, ".AxesOrder"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null && (axesOrder = orientation.axesOrder) != null) { + return axesOrder.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"angleUnit"}) + public String getAngleUnit(Object orientationArg) { + AngleUnit angleUnit; + try { + startBlockExecution(BlockType.GETTER, ".AngleUnit"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null && (angleUnit = orientation.angleUnit) != null) { + return angleUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"firstAngle"}) + public float getFirstAngle(Object orientationArg) { + try { + startBlockExecution(BlockType.GETTER, ".FirstAngle"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null) { + return orientation.firstAngle; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"secondAngle"}) + public float getSecondAngle(Object orientationArg) { + try { + startBlockExecution(BlockType.GETTER, ".SecondAngle"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null) { + return orientation.secondAngle; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"thirdAngle"}) + public float getThirdAngle(Object orientationArg) { + try { + startBlockExecution(BlockType.GETTER, ".ThirdAngle"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null) { + return orientation.thirdAngle; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object orientationArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null) { + return orientation.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, constructor = true) + public Orientation create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Orientation(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, constructor = true) + public Orientation create_withArgs(String axesReferenceString, String axesOrderString, String angleUnitString, float firstAngle, float secondAngle, float thirdAngle, long acquisitionTime) { + AxesReference axesReference; + try { + startBlockExecution(BlockType.CREATE, ""); + axesReference = checkAxesReference(axesReferenceString); + } catch (Throwable th) { + e = th; + } + try { + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + try { + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference != null && axesOrder != null && angleUnit != null) { + return new Orientation(axesReference, axesOrder, angleUnit, firstAngle, secondAngle, thirdAngle, acquisitionTime); + } + endBlockExecution(); + return null; + } catch (Throwable th2) { + e = th2; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th3) { + e = th3; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, constructor = true) + public Orientation create_withArgs2(String axesReferenceString, String axesOrderString, String angleUnitString, float firstAngle, float secondAngle, float thirdAngle) { + AxesReference axesReference; + try { + startBlockExecution(BlockType.CREATE, ""); + axesReference = checkAxesReference(axesReferenceString); + } catch (Throwable th) { + e = th; + } + try { + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + try { + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference != null && axesOrder != null && angleUnit != null) { + return new Orientation(axesReference, axesOrder, angleUnit, firstAngle, secondAngle, thirdAngle, 0L); + } + endBlockExecution(); + return null; + } catch (Throwable th2) { + e = th2; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } catch (Throwable th3) { + e = th3; + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"toAngleUnit"}) + public Orientation toAngleUnit(Object orientationArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toAngleUnit"); + Orientation orientation = checkOrientation(orientationArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (orientation != null && angleUnit != null) { + return orientation.toAngleUnit(angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"toAxesReference"}) + public Orientation toAxesReference(Object orientationArg, String axesReferenceString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toAxesReference"); + Orientation orientation = checkOrientation(orientationArg); + AxesReference axesReference = checkAxesReference(axesReferenceString); + if (orientation != null && axesReference != null) { + return orientation.toAxesReference(axesReference); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"toAxesOrder"}) + public Orientation toAxesOrder(Object orientationArg, String axesOrderString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toAxesOrder"); + Orientation orientation = checkOrientation(orientationArg); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + if (orientation != null && axesOrder != null) { + return orientation.toAxesOrder(axesOrder); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"toString"}) + public String toText(Object orientationArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null) { + return orientation.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"getRotationMatrix"}) + public OpenGLMatrix getRotationMatrix(Object orientationArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRotationMatrix"); + Orientation orientation = checkOrientation(orientationArg); + if (orientation != null) { + return orientation.getRotationMatrix(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"getRotationMatrix"}) + public OpenGLMatrix getRotationMatrix_withArgs(String axesReferenceString, String axesOrderString, String angleUnitString, float firstAngle, float secondAngle, float thirdAngle) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRotationMatrix"); + AxesReference axesReference = checkAxesReference(axesReferenceString); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (axesReference != null && axesOrder != null && angleUnit != null) { + return Orientation.getRotationMatrix(axesReference, axesOrder, angleUnit, firstAngle, secondAngle, thirdAngle); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Orientation.class}, methodName = {"getOrientation"}) + public Orientation getOrientation(Object matrixArg, String axesReferenceString, String axesOrderString, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getOrientation"); + MatrixF matrix = checkMatrixF(matrixArg); + AxesReference axesReference = checkAxesReference(axesReferenceString); + AxesOrder axesOrder = checkAxesOrder(axesOrderString); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (matrix != null && axesReference != null && axesOrder != null && angleUnit != null) { + return Orientation.getOrientation(matrix, axesReference, axesOrder, angleUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PIDFCoefficientsAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PIDFCoefficientsAccess.java new file mode 100644 index 000000000000..d46af5c8e1d8 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PIDFCoefficientsAccess.java @@ -0,0 +1,311 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import com.qualcomm.robotcore.hardware.MotorControlAlgorithm; +import com.qualcomm.robotcore.hardware.PIDFCoefficients; +import org.firstinspires.ftc.onbotjava.RequestConditions; + +/* JADX INFO: loaded from: classes8.dex */ +class PIDFCoefficientsAccess extends Access { + PIDFCoefficientsAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "PIDFCoefficients"); + } + + private PIDFCoefficients checkPIDFCoefficients(Object pidfCoefficientsArg) { + return (PIDFCoefficients) checkArg(pidfCoefficientsArg, PIDFCoefficients.class, "pidfCoefficients"); + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, constructor = true) + public PIDFCoefficients create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new PIDFCoefficients(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, constructor = true) + public PIDFCoefficients create_withPIDFAlgorithm(double p, double i, double d, double f, String algorithmString) { + try { + startBlockExecution(BlockType.CREATE, ""); + } catch (Throwable th) { + e = th; + } + try { + MotorControlAlgorithm algorithm = (MotorControlAlgorithm) checkArg(algorithmString, MotorControlAlgorithm.class, "algorithm"); + if (algorithm != null) { + return new PIDFCoefficients(p, i, d, f, algorithm); + } + endBlockExecution(); + return null; + } catch (Throwable th2) { + e = th2; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, constructor = true) + public PIDFCoefficients create_withPIDF(double p, double i, double d, double f) { + try { + startBlockExecution(BlockType.CREATE, ""); + return new PIDFCoefficients(p, i, d, f); + } finally { + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, constructor = true) + public PIDFCoefficients create_withPIDFCoefficients(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + return new PIDFCoefficients(pidfCoefficients); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"p"}) + public void setP(Object pidfCoefficientsArg, double p) { + try { + startBlockExecution(BlockType.SETTER, ".P"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + pidfCoefficients.p = p; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"p"}) + public double getP(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.GETTER, ".P"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + return pidfCoefficients.p; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"i"}) + public void setI(Object pidfCoefficientsArg, double i) { + try { + startBlockExecution(BlockType.SETTER, ".I"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + pidfCoefficients.i = i; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"i"}) + public double getI(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.GETTER, ".I"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + return pidfCoefficients.i; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"d"}) + public void setD(Object pidfCoefficientsArg, double d) { + try { + startBlockExecution(BlockType.SETTER, ".D"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + pidfCoefficients.d = d; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"d"}) + public double getD(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.GETTER, ".D"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + return pidfCoefficients.d; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {RequestConditions.REQUEST_KEY_FILE}) + public void setF(Object pidfCoefficientsArg, double f) { + try { + startBlockExecution(BlockType.SETTER, ".F"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + pidfCoefficients.f = f; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {RequestConditions.REQUEST_KEY_FILE}) + public double getF(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.GETTER, ".F"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + return pidfCoefficients.f; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"algorithm"}) + public void setAlgorithm(Object pidfCoefficientsArg, String algorithmString) { + try { + startBlockExecution(BlockType.SETTER, ".Algorithm"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + MotorControlAlgorithm algorithm = (MotorControlAlgorithm) checkArg(algorithmString, MotorControlAlgorithm.class, ""); + if (pidfCoefficients != null && algorithm != null) { + pidfCoefficients.algorithm = algorithm; + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, fieldName = {"algorithm"}) + public String getAlgorithm(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.GETTER, ".Algorithm"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null && pidfCoefficients.algorithm != null) { + return pidfCoefficients.algorithm.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PIDFCoefficients.class}, methodName = {"toString"}) + public String toText(Object pidfCoefficientsArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + PIDFCoefficients pidfCoefficients = checkPIDFCoefficients(pidfCoefficientsArg); + if (pidfCoefficients != null) { + return pidfCoefficients.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Pose2DAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Pose2DAccess.java new file mode 100644 index 000000000000..022c6a3992ae --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Pose2DAccess.java @@ -0,0 +1,128 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Pose2D; + +/* JADX INFO: loaded from: classes8.dex */ +class Pose2DAccess extends Access { + Pose2DAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Pose2D"); + } + + @JavascriptInterface + @Block(classes = {Pose2D.class}, constructor = true) + public Pose2D create(String distanceUnitString, double x, double y, String angleUnitString, double heading) { + DistanceUnit distanceUnit; + try { + startBlockExecution(BlockType.CREATE, ""); + distanceUnit = checkDistanceUnit(distanceUnitString); + } catch (Throwable th) { + e = th; + } + try { + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (distanceUnit != null && angleUnit != null) { + return new Pose2D(distanceUnit, x, y, angleUnit, heading); + } + endBlockExecution(); + return null; + } catch (Throwable th2) { + e = th2; + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Pose2D.class}, methodName = {"getX"}) + public double getX(Object pose2DArg, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getX"); + Pose2D pose2D = checkPose2D(pose2DArg); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (pose2D != null && distanceUnit != null) { + return pose2D.getX(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Pose2D.class}, methodName = {"getY"}) + public double getY(Object pose2DArg, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getY"); + Pose2D pose2D = checkPose2D(pose2DArg); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (pose2D != null && distanceUnit != null) { + return pose2D.getY(distanceUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Pose2D.class}, methodName = {"getHeading"}) + public double getHeading(Object pose2DArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getHeading"); + Pose2D pose2D = checkPose2D(pose2DArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (pose2D != null && angleUnit != null) { + return pose2D.getHeading(angleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Pose2D.class}, methodName = {"toString"}) + public String toText(Object pose2DArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Pose2D pose2D = checkPose2D(pose2DArg); + if (pose2D != null) { + return pose2D.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PositionAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PositionAccess.java new file mode 100644 index 000000000000..e06cb13458fe --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PositionAccess.java @@ -0,0 +1,191 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Position; + +/* JADX INFO: loaded from: classes8.dex */ +class PositionAccess extends Access { + PositionAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Position"); + } + + @JavascriptInterface + @Block(classes = {Position.class}, fieldName = {"unit"}) + public String getDistanceUnit(Object positionArg) { + DistanceUnit distanceUnit; + try { + startBlockExecution(BlockType.GETTER, ".DistanceUnit"); + Position position = checkPosition(positionArg); + if (position != null && (distanceUnit = position.unit) != null) { + return distanceUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, fieldName = {"x"}) + public double getX(Object positionArg) { + try { + startBlockExecution(BlockType.GETTER, ".X"); + Position position = checkPosition(positionArg); + if (position != null) { + return position.x; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, fieldName = {"y"}) + public double getY(Object positionArg) { + try { + startBlockExecution(BlockType.GETTER, ".Y"); + Position position = checkPosition(positionArg); + if (position != null) { + return position.y; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, fieldName = {"z"}) + public double getZ(Object positionArg) { + try { + startBlockExecution(BlockType.GETTER, ".Z"); + Position position = checkPosition(positionArg); + if (position != null) { + return position.z; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object positionArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + Position position = checkPosition(positionArg); + if (position != null) { + return position.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, constructor = true) + public Position create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Position(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, constructor = true) + public Position create_withArgs(String distanceUnitString, double x, double y, double z, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return new Position(distanceUnit, x, y, z, acquisitionTime); + } + endBlockExecution(); + return null; + } finally { + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, methodName = {"toUnit"}) + public Position toDistanceUnit(Object positionArg, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toDistanceUnit"); + Position position = checkPosition(positionArg); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (position != null && distanceUnit != null) { + return position.toUnit(distanceUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Position.class}, methodName = {"toString"}) + public String toText(Object positionArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Position position = checkPosition(positionArg); + if (position != null) { + return position.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PredominantColorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PredominantColorAccess.java new file mode 100644 index 000000000000..42a5a57a141a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PredominantColorAccess.java @@ -0,0 +1,126 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.vision.opencv.ImageRegion; +import org.firstinspires.ftc.vision.opencv.PredominantColorProcessor; + +/* JADX INFO: loaded from: classes8.dex */ +class PredominantColorAccess extends Access { + PredominantColorAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, ""); + } + + private PredominantColorProcessor.Builder checkPredominantColorProcessorBuilder(Object predominantColorProcessorBuilderArg) { + return (PredominantColorProcessor.Builder) checkArg(predominantColorProcessorBuilderArg, PredominantColorProcessor.Builder.class, "predominantColorProcessorBuilder"); + } + + private PredominantColorProcessor checkPredominantColorProcessor(Object predominantColorProcessorArg) { + return (PredominantColorProcessor) checkArg(predominantColorProcessorArg, PredominantColorProcessor.class, "predominantColorProcessor"); + } + + private PredominantColorProcessor.Swatch checkSwatch(String swatchString) { + return (PredominantColorProcessor.Swatch) checkArg(swatchString, PredominantColorProcessor.Swatch.class, "swatch"); + } + + @JavascriptInterface + @Block(classes = {PredominantColorProcessor.Builder.class}, constructor = true) + public PredominantColorProcessor.Builder createPredominantColorProcessorBuilder() { + try { + startBlockExecution(BlockType.CREATE, "PredominantColorProcessor.Builder", ""); + return new PredominantColorProcessor.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PredominantColorProcessor.Builder.class}, methodName = {"setRoi"}) + public void setRoi(Object predominantColorProcessorBuilderArg, Object imageRegionArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PredominantColorProcessor.Builder", ".setRoi"); + PredominantColorProcessor.Builder predominantColorProcessorBuilder = checkPredominantColorProcessorBuilder(predominantColorProcessorBuilderArg); + ImageRegion imageRegion = checkImageRegion(imageRegionArg); + if (predominantColorProcessorBuilder != null && imageRegion != null) { + predominantColorProcessorBuilder.setRoi(imageRegion); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PredominantColorProcessor.Builder.class}, methodName = {"setSwatches"}) + public void setSwatches(Object predominantColorProcessorBuilderArg, String json) { + try { + startBlockExecution(BlockType.FUNCTION, "PredominantColorProcessor.Builder", ".setSwatches"); + PredominantColorProcessor.Builder predominantColorProcessorBuilder = checkPredominantColorProcessorBuilder(predominantColorProcessorBuilderArg); + if (predominantColorProcessorBuilder != null) { + String[] swatchStrings = (String[]) fromJson(json, String[].class); + PredominantColorProcessor.Swatch[] swatches = new PredominantColorProcessor.Swatch[swatchStrings.length]; + for (int i = 0; i < swatches.length; i++) { + swatches[i] = checkSwatch(swatchStrings[i]); + } + predominantColorProcessorBuilder.setSwatches(swatches); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PredominantColorProcessor.Builder.class}, methodName = {"build"}) + public PredominantColorProcessor buildPredominantColorProcessor(Object predominantColorProcessorBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PredominantColorProcessor.Builder", ".build"); + PredominantColorProcessor.Builder predominantColorProcessorBuilder = checkPredominantColorProcessorBuilder(predominantColorProcessorBuilderArg); + if (predominantColorProcessorBuilder != null) { + return predominantColorProcessorBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PredominantColorProcessor.class}, methodName = {"getAnalysis"}) + public String getAnalysis(Object predominantColorProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PredominantColorProcessor", ".getAnalysis"); + PredominantColorProcessor predominantColorProcessor = checkPredominantColorProcessor(predominantColorProcessorArg); + if (predominantColorProcessor != null) { + return toJson(predominantColorProcessor.getAnalysis()); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PtzControlAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PtzControlAccess.java new file mode 100644 index 000000000000..fe62b2f41d03 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/PtzControlAccess.java @@ -0,0 +1,182 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.PtzControl; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; + +/* JADX INFO: loaded from: classes8.dex */ +class PtzControlAccess extends Access { + PtzControlAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "PtzControl"); + } + + private PtzControl checkPtzControl(Object ptzControlArg) { + return (PtzControl) checkArg(ptzControlArg, PtzControl.class, "ptzControl"); + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"getMinPanTilt"}) + public String getMinPanTilt(Object ptzControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".getMinPanTilt"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return SimpleGson.getInstance().toJson(ptzControl.getMinPanTilt()); + } + return "{\"pan\": 0, \"tilt\": 0}"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"getMaxPanTilt"}) + public String getMaxPanTilt(Object ptzControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".getMaxPanTilt"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return SimpleGson.getInstance().toJson(ptzControl.getMaxPanTilt()); + } + return "{\"pan\": 0, \"tilt\": 0}"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"getPanTilt"}) + public String getPanTilt(Object ptzControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".getPanTilt"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return SimpleGson.getInstance().toJson(ptzControl.getPanTilt()); + } + return "{\"pan\": 0, \"tilt\": 0}"; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"setPanTilt"}) + public boolean setPanTilt(Object ptzControlArg, String json) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".setPanTilt"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + PtzControl.PanTiltHolder panTiltHolder = (PtzControl.PanTiltHolder) SimpleGson.getInstance().fromJson(json, PtzControl.PanTiltHolder.class); + return ptzControl.setPanTilt(panTiltHolder); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"getMinZoom"}) + public int getMinZoom(Object ptzControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".getMinZoom"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return ptzControl.getMinZoom(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"getMaxZoom"}) + public int getMaxZoom(Object ptzControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".getMaxZoom"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return ptzControl.getMaxZoom(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"getZoom"}) + public int getZoom(Object ptzControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".getZoom"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return ptzControl.getZoom(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PtzControl.class}, methodName = {"setZoom"}) + public boolean setZoom(Object ptzControlArg, int zoom) { + try { + startBlockExecution(BlockType.FUNCTION, "PtzControl", ".setZoom"); + PtzControl ptzControl = checkPtzControl(ptzControlArg); + if (ptzControl != null) { + return ptzControl.setZoom(zoom); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/QuaternionAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/QuaternionAccess.java new file mode 100644 index 000000000000..4089396affbd --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/QuaternionAccess.java @@ -0,0 +1,253 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; + +/* JADX INFO: loaded from: classes8.dex */ +class QuaternionAccess extends Access { + QuaternionAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Quaternion"); + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, fieldName = {"w"}) + public float getW(Object quaternionArg) { + try { + startBlockExecution(BlockType.GETTER, ".W"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.w; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, fieldName = {"x"}) + public float getX(Object quaternionArg) { + try { + startBlockExecution(BlockType.GETTER, ".X"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.x; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, fieldName = {"y"}) + public float getY(Object quaternionArg) { + try { + startBlockExecution(BlockType.GETTER, ".Y"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.y; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, fieldName = {"z"}) + public float getZ(Object quaternionArg) { + try { + startBlockExecution(BlockType.GETTER, ".Z"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.z; + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object quaternionArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, methodName = {"magnitude"}) + public float getMagnitude(Object quaternionArg) { + try { + startBlockExecution(BlockType.GETTER, ".Magnitude"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.magnitude(); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, constructor = true) + public Quaternion create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Quaternion(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, constructor = true) + public Quaternion create_withArgs(float w, float x, float y, float z, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Quaternion(w, x, y, z, acquisitionTime); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, constructor = true) + public Quaternion create_withArgs2(float w, float x, float y, float z) { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Quaternion(w, x, y, z, 0L); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, methodName = {"normalized"}) + public Quaternion normalized(Object quaternionArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".normalized"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.normalized(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, methodName = {"congugate"}) + public Quaternion congugate(Object quaternionArg) { + return conjugate(quaternionArg); + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, methodName = {"conjugate"}) + public Quaternion conjugate(Object quaternionArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".conjugate"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.conjugate(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Quaternion.class}, methodName = {"toString"}) + public String toText(Object quaternionArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Quaternion quaternion = checkQuaternion(quaternionArg); + if (quaternion != null) { + return quaternion.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RangeAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RangeAccess.java new file mode 100644 index 000000000000..a212ae6d3cf4 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RangeAccess.java @@ -0,0 +1,43 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.util.Range; + +/* JADX INFO: loaded from: classes8.dex */ +class RangeAccess extends Access { + RangeAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Range"); + } + + @JavascriptInterface + @Block(classes = {Range.class}, methodName = {"clip"}) + public double clip(double number, double min, double max) { + try { + startBlockExecution(BlockType.FUNCTION, ".clip"); + return Range.clip(number, min, max); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Range.class}, methodName = {"scale"}) + public double scale(double number, double x1, double x2, double y1, double y2) { + try { + startBlockExecution(BlockType.FUNCTION, ".scale"); + return Range.scale(number, x1, x2, y1, y2); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Rev9AxisImuOrientationOnRobotAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Rev9AxisImuOrientationOnRobotAccess.java new file mode 100644 index 000000000000..8f298dcbf9f0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/Rev9AxisImuOrientationOnRobotAccess.java @@ -0,0 +1,109 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.rev.Rev9AxisImuOrientationOnRobot; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; + +/* JADX INFO: loaded from: classes8.dex */ +class Rev9AxisImuOrientationOnRobotAccess extends Access { + Rev9AxisImuOrientationOnRobotAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Rev9AxisImuOrientationOnRobot"); + } + + @JavascriptInterface + @Block(classes = {Rev9AxisImuOrientationOnRobot.class}, constructor = true) + public Rev9AxisImuOrientationOnRobot create1(String logoFacingDirectionString, String i2cPortFacingDirectionString) { + try { + startBlockExecution(BlockType.CREATE, ""); + Rev9AxisImuOrientationOnRobot.LogoFacingDirection logoFacingDirection = (Rev9AxisImuOrientationOnRobot.LogoFacingDirection) checkArg(logoFacingDirectionString, Rev9AxisImuOrientationOnRobot.LogoFacingDirection.class, "logoFacingDirection"); + Rev9AxisImuOrientationOnRobot.I2cPortFacingDirection i2cPortFacingDirection = (Rev9AxisImuOrientationOnRobot.I2cPortFacingDirection) checkArg(i2cPortFacingDirectionString, Rev9AxisImuOrientationOnRobot.I2cPortFacingDirection.class, "i2cPortFacingDirection"); + if (logoFacingDirection != null && i2cPortFacingDirection != null) { + return new Rev9AxisImuOrientationOnRobot(logoFacingDirection, i2cPortFacingDirection); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Rev9AxisImuOrientationOnRobot.class}, constructor = true) + public Rev9AxisImuOrientationOnRobot create2(Object orientationArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + Orientation orientation = checkOrientation(orientationArg, "rotation"); + if (orientation != null) { + return new Rev9AxisImuOrientationOnRobot(orientation); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Rev9AxisImuOrientationOnRobot.class}, constructor = true) + public Rev9AxisImuOrientationOnRobot create3(Object quaternionArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + Quaternion quaternion = checkQuaternion(quaternionArg, "rotation"); + if (quaternion != null) { + return new Rev9AxisImuOrientationOnRobot(quaternion); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Rev9AxisImuOrientationOnRobot.class}, methodName = {"zyxOrientation"}) + public Orientation zyxOrientation(double z, double y, double x) { + try { + startBlockExecution(BlockType.FUNCTION, ".zyxOrientation"); + return Rev9AxisImuOrientationOnRobot.zyxOrientation(z, y, x); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Rev9AxisImuOrientationOnRobot.class}, methodName = {"xyzOrientation"}) + public Orientation xyzOrientation(double x, double y, double z) { + try { + startBlockExecution(BlockType.FUNCTION, ".zyxOrientation"); + return Rev9AxisImuOrientationOnRobot.xyzOrientation(x, y, z); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevBlinkinLedDriverAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevBlinkinLedDriverAccess.java new file mode 100644 index 000000000000..f86485966b52 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevBlinkinLedDriverAccess.java @@ -0,0 +1,35 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.rev.RevBlinkinLedDriver; +import com.qualcomm.robotcore.hardware.HardwareMap; + +/* JADX INFO: loaded from: classes8.dex */ +class RevBlinkinLedDriverAccess extends HardwareAccess { + private final RevBlinkinLedDriver revBlinkinLedDriver; + + RevBlinkinLedDriverAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, RevBlinkinLedDriver.class); + this.revBlinkinLedDriver = (RevBlinkinLedDriver) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {RevBlinkinLedDriver.class}, methodName = {"setPattern"}) + public void setPattern(String blinkinPatternString) { + try { + startBlockExecution(BlockType.SETTER, ".Pattern"); + RevBlinkinLedDriver.BlinkinPattern blinkinPattern = checkBlinkinPattern(blinkinPatternString); + if (blinkinPattern != null) { + this.revBlinkinLedDriver.setPattern(blinkinPattern); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevHubOrientationOnRobotAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevHubOrientationOnRobotAccess.java new file mode 100644 index 000000000000..51d0cf0ed143 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RevHubOrientationOnRobotAccess.java @@ -0,0 +1,109 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.rev.RevHubOrientationOnRobot; +import org.firstinspires.ftc.robotcore.external.navigation.Orientation; +import org.firstinspires.ftc.robotcore.external.navigation.Quaternion; + +/* JADX INFO: loaded from: classes8.dex */ +class RevHubOrientationOnRobotAccess extends Access { + RevHubOrientationOnRobotAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "RevHubOrientationOnRobot"); + } + + @JavascriptInterface + @Block(classes = {RevHubOrientationOnRobot.class}, constructor = true) + public RevHubOrientationOnRobot create1(String logoFacingDirectionString, String usbFacingDirectionString) { + try { + startBlockExecution(BlockType.CREATE, ""); + RevHubOrientationOnRobot.LogoFacingDirection logoFacingDirection = (RevHubOrientationOnRobot.LogoFacingDirection) checkArg(logoFacingDirectionString, RevHubOrientationOnRobot.LogoFacingDirection.class, "logoFacingDirection"); + RevHubOrientationOnRobot.UsbFacingDirection usbFacingDirection = (RevHubOrientationOnRobot.UsbFacingDirection) checkArg(usbFacingDirectionString, RevHubOrientationOnRobot.UsbFacingDirection.class, "usbFacingDirection"); + if (logoFacingDirection != null && usbFacingDirection != null) { + return new RevHubOrientationOnRobot(logoFacingDirection, usbFacingDirection); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevHubOrientationOnRobot.class}, constructor = true) + public RevHubOrientationOnRobot create2(Object orientationArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + Orientation orientation = checkOrientation(orientationArg, "rotation"); + if (orientation != null) { + return new RevHubOrientationOnRobot(orientation); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevHubOrientationOnRobot.class}, constructor = true) + public RevHubOrientationOnRobot create3(Object quaternionArg) { + try { + startBlockExecution(BlockType.CREATE, ""); + Quaternion quaternion = checkQuaternion(quaternionArg, "rotation"); + if (quaternion != null) { + return new RevHubOrientationOnRobot(quaternion); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevHubOrientationOnRobot.class}, methodName = {"zyxOrientation"}) + public Orientation zyxOrientation(double z, double y, double x) { + try { + startBlockExecution(BlockType.FUNCTION, ".zyxOrientation"); + return RevHubOrientationOnRobot.zyxOrientation(z, y, x); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {RevHubOrientationOnRobot.class}, methodName = {"xyzOrientation"}) + public Orientation xyzOrientation(double x, double y, double z) { + try { + startBlockExecution(BlockType.FUNCTION, ".zyxOrientation"); + return RevHubOrientationOnRobot.xyzOrientation(x, y, z); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RumbleEffectAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RumbleEffectAccess.java new file mode 100644 index 000000000000..5a14ab09a972 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/RumbleEffectAccess.java @@ -0,0 +1,71 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.hardware.Gamepad; + +/* JADX INFO: loaded from: classes8.dex */ +class RumbleEffectAccess extends Access { + RumbleEffectAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "RumbleEffect"); + } + + private Gamepad.RumbleEffect.Builder checkRumbleEffectBuilder(Object rumbleEffectBuilderArg) { + return (Gamepad.RumbleEffect.Builder) checkArg(rumbleEffectBuilderArg, Gamepad.RumbleEffect.Builder.class, "rumbleEffectBuilder"); + } + + @JavascriptInterface + @Block(classes = {Gamepad.RumbleEffect.Builder.class}, constructor = true) + public Gamepad.RumbleEffect.Builder createBuilder() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Gamepad.RumbleEffect.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.RumbleEffect.Builder.class}, methodName = {"addStep"}) + public void addStep(Object rumbleEffectBuilderArg, double rumble1, double rumble2, int millis) { + try { + startBlockExecution(BlockType.FUNCTION, ".addStep"); + Gamepad.RumbleEffect.Builder rumbleEffectBuilder = checkRumbleEffectBuilder(rumbleEffectBuilderArg); + if (rumbleEffectBuilder != null) { + rumbleEffectBuilder.addStep(rumble1, rumble2, millis); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Gamepad.RumbleEffect.Builder.class}, methodName = {"build"}) + public Gamepad.RumbleEffect build(Object rumbleEffectBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".build"); + Gamepad.RumbleEffect.Builder rumbleEffectBuilder = checkRumbleEffectBuilder(rumbleEffectBuilderArg); + if (rumbleEffectBuilder != null) { + return rumbleEffectBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoAccess.java new file mode 100644 index 000000000000..99c39246151b --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoAccess.java @@ -0,0 +1,153 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.PwmControl; +import com.qualcomm.robotcore.hardware.Servo; +import com.qualcomm.robotcore.hardware.ServoImplEx; + +/* JADX INFO: loaded from: classes8.dex */ +class ServoAccess extends HardwareAccess { + private final ServoImplEx servo; + + ServoAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, ServoImplEx.class); + this.servo = (ServoImplEx) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {Servo.class}, methodName = {"setDirection"}) + public void setDirection(String directionString) { + try { + startBlockExecution(BlockType.SETTER, ".Direction"); + Servo.Direction direction = (Servo.Direction) checkArg(directionString, Servo.Direction.class, ""); + if (direction != null) { + this.servo.setDirection(direction); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Servo.class}, methodName = {"getDirection"}) + public String getDirection() { + try { + startBlockExecution(BlockType.GETTER, ".Direction"); + Servo.Direction direction = this.servo.getDirection(); + if (direction != null) { + return direction.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Servo.class}, methodName = {"setPosition"}) + public void setPosition(double position) { + try { + startBlockExecution(BlockType.SETTER, ".Position"); + this.servo.setPosition(position); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Servo.class}, methodName = {"getPosition"}) + public double getPosition() { + try { + startBlockExecution(BlockType.GETTER, ".Position"); + return this.servo.getPosition(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Servo.class}, methodName = {"scaleRange"}) + public void scaleRange(double min, double max) { + try { + startBlockExecution(BlockType.FUNCTION, ".scaleRange"); + this.servo.scaleRange(min, max); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PwmControl.class}, methodName = {"setPwmEnable"}) + public void setPwmEnable() { + try { + startBlockExecution(BlockType.FUNCTION, ".setPwmEnable"); + this.servo.setPwmEnable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PwmControl.class}, methodName = {"setPwmDisable"}) + public void setPwmDisable() { + try { + startBlockExecution(BlockType.FUNCTION, ".setPwmDisable"); + this.servo.setPwmDisable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {PwmControl.class}, methodName = {"isPwmEnabled"}) + public boolean isPwmEnabled() { + try { + startBlockExecution(BlockType.FUNCTION, ".isPwmEnabled"); + return this.servo.isPwmEnabled(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoControllerAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoControllerAccess.java new file mode 100644 index 000000000000..637daf357822 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/ServoControllerAccess.java @@ -0,0 +1,68 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.ServoController; + +/* JADX INFO: loaded from: classes8.dex */ +class ServoControllerAccess extends HardwareAccess { + private final ServoController servoController; + + ServoControllerAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, ServoController.class); + this.servoController = (ServoController) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {ServoController.class}, methodName = {"getPwmStatus"}) + public String getPwmStatus() { + try { + startBlockExecution(BlockType.GETTER, ".PwmStatus"); + ServoController.PwmStatus pwmStatus = this.servoController.getPwmStatus(); + if (pwmStatus != null) { + return pwmStatus.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ServoController.class}, methodName = {"pwmEnable"}) + public void pwmEnable() { + try { + startBlockExecution(BlockType.FUNCTION, ".pwmEnable"); + this.servoController.pwmEnable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {ServoController.class}, methodName = {"pwmDisable"}) + public void pwmDisable() { + try { + startBlockExecution(BlockType.FUNCTION, ".pwmDisable"); + this.servoController.pwmDisable(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunLEDStickAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunLEDStickAccess.java new file mode 100644 index 000000000000..dc9b3ea049ba --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunLEDStickAccess.java @@ -0,0 +1,120 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.sparkfun.SparkFunLEDStick; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; + +/* JADX INFO: loaded from: classes8.dex */ +class SparkFunLEDStickAccess extends HardwareAccess { + private final SparkFunLEDStick sparkFunLEDStick; + + SparkFunLEDStickAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, SparkFunLEDStick.class); + this.sparkFunLEDStick = (SparkFunLEDStick) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {SparkFunLEDStick.class}, methodName = {"setColor"}) + public void setColor_withPosition(int position, long longColor) { + try { + startBlockExecution(BlockType.FUNCTION, ".setColor"); + int color = (int) ((-1) & longColor); + this.sparkFunLEDStick.setColor(position, color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunLEDStick.class}, methodName = {"setColor"}) + public void setColor(long longColor) { + try { + startBlockExecution(BlockType.FUNCTION, ".setColor"); + int color = (int) ((-1) & longColor); + this.sparkFunLEDStick.setColor(color); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunLEDStick.class}, methodName = {"setColors"}) + public void setColors(String jsonColors) { + try { + startBlockExecution(BlockType.FUNCTION, ".setColors"); + long[] longColors = (long[]) SimpleGson.getInstance().fromJson(jsonColors, long[].class); + int[] colors = new int[longColors.length]; + for (int i = 0; i < colors.length; i++) { + colors[i] = (int) (longColors[i] & (-1)); + } + this.sparkFunLEDStick.setColors(colors); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunLEDStick.class}, methodName = {"setBrightness"}) + public void setBrightness_withPosition(int position, int brightness) { + try { + startBlockExecution(BlockType.FUNCTION, ".setBrightness"); + this.sparkFunLEDStick.setBrightness(position, brightness); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunLEDStick.class}, methodName = {"setBrightness"}) + public void setBrightness(int brightness) { + try { + startBlockExecution(BlockType.FUNCTION, ".setBrightness"); + this.sparkFunLEDStick.setBrightness(brightness); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunLEDStick.class}, methodName = {"turnAllOff"}) + public void turnAllOff() { + try { + startBlockExecution(BlockType.FUNCTION, ".turnAllOff"); + this.sparkFunLEDStick.turnAllOff(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunOTOSAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunOTOSAccess.java new file mode 100644 index 000000000000..5042d0a5619c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SparkFunOTOSAccess.java @@ -0,0 +1,566 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.sparkfun.SparkFunOTOS; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; + +/* JADX INFO: loaded from: classes8.dex */ +class SparkFunOTOSAccess extends HardwareAccess { + private final SparkFunOTOS sparkFunOTOS; + + SparkFunOTOSAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, SparkFunOTOS.class); + this.sparkFunOTOS = (SparkFunOTOS) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getImuCalibrationProgress"}) + public int getImuCalibrationProgress() { + try { + startBlockExecution(BlockType.GETTER, ".ImuCalibrationProgress"); + return this.sparkFunOTOS.getImuCalibrationProgress(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getLinearScalar"}) + public double getLinearScalar() { + try { + startBlockExecution(BlockType.GETTER, ".LinearScalar"); + return this.sparkFunOTOS.getLinearScalar(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setLinearScalar"}) + public boolean setLinearScalar(double scalar) { + try { + startBlockExecution(BlockType.SETTER, ".LinearScalar"); + return this.sparkFunOTOS.setLinearScalar(scalar); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getAngularScalar"}) + public double getAngularScalar() { + try { + startBlockExecution(BlockType.GETTER, ".AngularScalar"); + return this.sparkFunOTOS.getAngularScalar(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setAngularScalar"}) + public boolean setAngularScalar(double scalar) { + try { + startBlockExecution(BlockType.SETTER, ".AngularScalar"); + return this.sparkFunOTOS.setAngularScalar(scalar); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getLinearUnit"}) + public String getLinearUnit() { + try { + startBlockExecution(BlockType.GETTER, ".LinearUnit"); + DistanceUnit distanceUnit = this.sparkFunOTOS.getLinearUnit(); + if (distanceUnit != null) { + return distanceUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setLinearUnit"}) + public void setLinearUnit(String distanceUnitString) { + try { + startBlockExecution(BlockType.SETTER, ".LinearUnit"); + DistanceUnit distanceUnit = (DistanceUnit) checkArg(distanceUnitString, DistanceUnit.class, ""); + if (distanceUnit != null) { + this.sparkFunOTOS.setLinearUnit(distanceUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getAngularUnit"}) + public String getAngularUnit() { + try { + startBlockExecution(BlockType.GETTER, ".AngularUnit"); + AngleUnit angleUnit = this.sparkFunOTOS.getAngularUnit(); + if (angleUnit != null) { + return angleUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setAngularUnit"}) + public void setAngularUnit(String angleUnitString) { + try { + startBlockExecution(BlockType.SETTER, ".AngularUnit"); + AngleUnit angleUnit = (AngleUnit) checkArg(angleUnitString, AngleUnit.class, ""); + if (angleUnit != null) { + this.sparkFunOTOS.setAngularUnit(angleUnit); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getStatus"}) + public String getStatus() { + try { + startBlockExecution(BlockType.GETTER, ".Status"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getStatus()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getOffset"}) + public String getOffset() { + try { + startBlockExecution(BlockType.GETTER, ".Offset"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getOffset()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setOffset"}) + public void setOffset(String json) { + try { + startBlockExecution(BlockType.SETTER, ".Offset"); + SparkFunOTOS.Pose2D pose = (SparkFunOTOS.Pose2D) SimpleGson.getInstance().fromJson(json, SparkFunOTOS.Pose2D.class); + this.sparkFunOTOS.setOffset(pose); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getPosition"}) + public String getPosition() { + try { + startBlockExecution(BlockType.GETTER, ".Position"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getPosition()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setPosition"}) + public void setPosition(String json) { + try { + startBlockExecution(BlockType.SETTER, ".Position"); + SparkFunOTOS.Pose2D pose = (SparkFunOTOS.Pose2D) SimpleGson.getInstance().fromJson(json, SparkFunOTOS.Pose2D.class); + this.sparkFunOTOS.setPosition(pose); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getAcceleration"}) + public String getAcceleration() { + try { + startBlockExecution(BlockType.GETTER, ".Acceleration"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getAcceleration()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getVelocity"}) + public String getVelocity() { + try { + startBlockExecution(BlockType.GETTER, ".Velocity"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getVelocity()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getPositionStdDev"}) + public String getPositionStdDev() { + try { + startBlockExecution(BlockType.GETTER, ".PositionStdDev"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getPositionStdDev()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getAccelerationStdDev"}) + public String getAccelerationStdDev() { + try { + startBlockExecution(BlockType.GETTER, ".AccelerationStdDev"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getAccelerationStdDev()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getVelocityStdDev"}) + public String getVelocityStdDev() { + try { + startBlockExecution(BlockType.GETTER, ".VelocityStdDev"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getVelocityStdDev()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getSignalProcessConfig"}) + public String getSignalProcessConfig() { + try { + startBlockExecution(BlockType.GETTER, ".SignalProcessConfig"); + return SimpleGson.getInstance().toJson(this.sparkFunOTOS.getSignalProcessConfig()); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"setSignalProcessConfig"}) + public void setSignalProcessConfig(String json) { + try { + startBlockExecution(BlockType.SETTER, ".SignalProcessConfig"); + SparkFunOTOS.SignalProcessConfig signalProcessConfig = (SparkFunOTOS.SignalProcessConfig) SimpleGson.getInstance().fromJson(json, SparkFunOTOS.SignalProcessConfig.class); + this.sparkFunOTOS.setSignalProcessConfig(signalProcessConfig); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getPosVelAcc"}) + public String getPosVelAcc(String json1, String json2, String json3) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPosVelAcc"); + SimpleGson.getInstance().fromJson(json1, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json2, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json3, SparkFunOTOS.Pose2D.class); + SparkFunOTOS.Pose2D[] posVelAcc = new SparkFunOTOS.Pose2D[3]; + for (int i = 0; i < posVelAcc.length; i++) { + posVelAcc[i] = new SparkFunOTOS.Pose2D(); + } + this.sparkFunOTOS.getPosVelAcc(posVelAcc[0], posVelAcc[1], posVelAcc[2]); + return SimpleGson.getInstance().toJson(posVelAcc); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getPosVelAccStdDev"}) + public String getPosVelAccStdDev(String json1, String json2, String json3) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPosVelAccStdDev"); + SimpleGson.getInstance().fromJson(json1, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json2, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json3, SparkFunOTOS.Pose2D.class); + SparkFunOTOS.Pose2D[] posVelAccStdDev = new SparkFunOTOS.Pose2D[3]; + for (int i = 0; i < posVelAccStdDev.length; i++) { + posVelAccStdDev[i] = new SparkFunOTOS.Pose2D(); + } + this.sparkFunOTOS.getPosVelAccStdDev(posVelAccStdDev[0], posVelAccStdDev[1], posVelAccStdDev[2]); + return SimpleGson.getInstance().toJson(posVelAccStdDev); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getPosVelAccAndStdDev"}) + public String getPosVelAccAndStdDev(String json1, String json2, String json3, String json4, String json5, String json6) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPosVelAccAndStdDev"); + SimpleGson.getInstance().fromJson(json1, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json2, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json3, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json4, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json5, SparkFunOTOS.Pose2D.class); + SimpleGson.getInstance().fromJson(json6, SparkFunOTOS.Pose2D.class); + SparkFunOTOS.Pose2D[] posVelAccAndStdDev = new SparkFunOTOS.Pose2D[6]; + for (int i = 0; i < posVelAccAndStdDev.length; i++) { + posVelAccAndStdDev[i] = new SparkFunOTOS.Pose2D(); + } + this.sparkFunOTOS.getPosVelAccAndStdDev(posVelAccAndStdDev[0], posVelAccAndStdDev[1], posVelAccAndStdDev[2], posVelAccAndStdDev[3], posVelAccAndStdDev[4], posVelAccAndStdDev[5]); + return SimpleGson.getInstance().toJson(posVelAccAndStdDev); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"getVersionInfo"}) + public String getVersionInfo(String json1, String json2) { + try { + startBlockExecution(BlockType.FUNCTION, ".getVersionInfo"); + SimpleGson.getInstance().fromJson(json1, SparkFunOTOS.Version.class); + SimpleGson.getInstance().fromJson(json2, SparkFunOTOS.Version.class); + SparkFunOTOS.Version[] versionInfo = new SparkFunOTOS.Version[2]; + for (int i = 0; i < versionInfo.length; i++) { + versionInfo[i] = new SparkFunOTOS.Version(); + } + this.sparkFunOTOS.getVersionInfo(versionInfo[0], versionInfo[1]); + return SimpleGson.getInstance().toJson(versionInfo); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"resetTracking"}) + public void resetTracking() { + try { + startBlockExecution(BlockType.FUNCTION, ".resetTracking"); + this.sparkFunOTOS.resetTracking(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"begin"}) + public boolean begin() { + try { + startBlockExecution(BlockType.FUNCTION, ".begin"); + return this.sparkFunOTOS.begin(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"calibrateImu"}) + public boolean calibrateImu() { + try { + startBlockExecution(BlockType.FUNCTION, ".calibrateImu"); + return this.sparkFunOTOS.calibrateImu(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"calibrateImu"}) + public boolean calibrateImu_withArgs(int numSamples, boolean waitUntilDone) { + try { + startBlockExecution(BlockType.FUNCTION, ".calibrateImu"); + return this.sparkFunOTOS.calibrateImu(numSamples, waitUntilDone); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"isConnected"}) + public boolean isConnected() { + try { + startBlockExecution(BlockType.FUNCTION, ".isConnected"); + return this.sparkFunOTOS.isConnected(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {SparkFunOTOS.class}, methodName = {"selfTest"}) + public boolean selfTest() { + try { + startBlockExecution(BlockType.FUNCTION, ".selfTest"); + return this.sparkFunOTOS.selfTest(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SystemAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SystemAccess.java new file mode 100644 index 000000000000..39bc03a28159 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/SystemAccess.java @@ -0,0 +1,40 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; + +/* JADX INFO: loaded from: classes8.dex */ +class SystemAccess extends Access { + SystemAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "System"); + } + + @JavascriptInterface + public long nanoTime() { + try { + startBlockExecution(BlockType.FUNCTION, ".nanoTime"); + return System.nanoTime(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + public long currentTimeMillis() { + try { + startBlockExecution(BlockType.FUNCTION, ".currentTimeMillis"); + return System.currentTimeMillis(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TelemetryAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TelemetryAccess.java new file mode 100644 index 000000000000..52d26aef1135 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TelemetryAccess.java @@ -0,0 +1,197 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.Telemetry; + +/* JADX INFO: loaded from: classes8.dex */ +class TelemetryAccess extends Access { + private final Telemetry telemetry; + + TelemetryAccess(BlocksOpMode blocksOpMode, String identifier, Telemetry telemetry) { + super(blocksOpMode, identifier, "Telemetry"); + this.telemetry = telemetry; + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"addData"}) + public void addNumericData(String key, double data) { + try { + startBlockExecution(BlockType.FUNCTION, ".addData"); + this.telemetry.addData(key, Double.valueOf(data)); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"addData"}) + public void addTextData(String key, String data) { + try { + startBlockExecution(BlockType.FUNCTION, ".addData"); + if (data != null) { + this.telemetry.addData(key, data); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"addData"}) + public void addObjectData(String key, Object data) { + try { + startBlockExecution(BlockType.FUNCTION, ".addData"); + this.telemetry.addData(key, "" + data); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"addLine"}) + public void addLine(String text) { + try { + startBlockExecution(BlockType.FUNCTION, ".addLine"); + this.telemetry.addLine(text); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"update"}) + public void update() { + try { + startBlockExecution(BlockType.FUNCTION, ".update"); + this.telemetry.update(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"speak"}) + public void speakTextData(String data, String languageCode, String countryCode) { + try { + startBlockExecution(BlockType.FUNCTION, ".speak"); + if (data != null) { + this.telemetry.speak(data, languageCode, countryCode); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"speak"}) + public void speakObjectData(Object data, String languageCode, String countryCode) { + try { + startBlockExecution(BlockType.FUNCTION, ".speak"); + this.telemetry.speak("" + data, languageCode, countryCode); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"setDisplayFormat"}) + public void setDisplayFormat(String displayFormatString) { + try { + startBlockExecution(BlockType.FUNCTION, ".setDisplayFormat"); + Telemetry.DisplayFormat displayFormat = (Telemetry.DisplayFormat) checkArg(displayFormatString, Telemetry.DisplayFormat.class, "displayFormat"); + if (displayFormat != null) { + this.telemetry.setDisplayFormat(displayFormat); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"setNumDecimalPlaces"}) + public void setNumDecimalPlaces(int minDecimalPlaces, int maxDecimalPlaces) { + try { + startBlockExecution(BlockType.FUNCTION, ".setNumDecimalPlaces"); + this.telemetry.setNumDecimalPlaces(minDecimalPlaces, maxDecimalPlaces); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"setMsTransmissionInterval"}) + public void setMsTransmissionInterval(int interval) { + try { + startBlockExecution(BlockType.SETTER, ".MsTransmissionInterval"); + this.telemetry.setMsTransmissionInterval(interval); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Telemetry.class}, methodName = {"getMsTransmissionInterval"}) + public int getMsTransmissionInterval() { + try { + startBlockExecution(BlockType.GETTER, ".MsTransmissionInterval"); + return this.telemetry.getMsTransmissionInterval(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TemperatureAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TemperatureAccess.java new file mode 100644 index 000000000000..900a59722fd5 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TemperatureAccess.java @@ -0,0 +1,143 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.TempUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Temperature; + +/* JADX INFO: loaded from: classes8.dex */ +class TemperatureAccess extends Access { + TemperatureAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Temperature"); + } + + private Temperature checkTemperature(Object temperatureArg) { + return (Temperature) checkArg(temperatureArg, Temperature.class, "temperature"); + } + + private TempUnit checkTempUnit(String tempUnitString) { + return (TempUnit) checkArg(tempUnitString, TempUnit.class, "tempUnit"); + } + + @JavascriptInterface + @Block(classes = {Temperature.class}, fieldName = {"unit"}) + public String getTempUnit(Object temperatureArg) { + TempUnit tempUnit; + try { + startBlockExecution(BlockType.GETTER, ".TempUnit"); + Temperature temperature = checkTemperature(temperatureArg); + if (temperature != null && (tempUnit = temperature.unit) != null) { + return tempUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Temperature.class}, fieldName = {"temperature"}) + public double getTemperature(Object temperatureArg) { + try { + startBlockExecution(BlockType.GETTER, ".Temperature"); + Temperature temperature = checkTemperature(temperatureArg); + if (temperature != null) { + return temperature.temperature; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Temperature.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object temperatureArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + Temperature temperature = checkTemperature(temperatureArg); + if (temperature != null) { + return temperature.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Temperature.class}, constructor = true) + public Temperature create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Temperature(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Temperature.class}, constructor = true) + public Temperature create_withArgs(String tempUnitString, double temperature, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + TempUnit tempUnit = checkTempUnit(tempUnitString); + if (tempUnit != null) { + return new Temperature(tempUnit, temperature, acquisitionTime); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Temperature.class}, methodName = {"toUnit"}) + public Temperature toTempUnit(Object temperatureArg, String tempUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toTempUnit"); + Temperature temperature = checkTemperature(temperatureArg); + TempUnit tempUnit = checkTempUnit(tempUnitString); + if (temperature != null && tempUnit != null) { + return temperature.toUnit(tempUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TouchSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TouchSensorAccess.java new file mode 100644 index 000000000000..7a0a049d5f00 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/TouchSensorAccess.java @@ -0,0 +1,34 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.hardware.modernrobotics.ModernRoboticsTouchSensor; +import com.qualcomm.hardware.rev.RevTouchSensor; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.TouchSensor; + +/* JADX INFO: loaded from: classes8.dex */ +class TouchSensorAccess extends HardwareAccess { + private final TouchSensor touchSensor; + + TouchSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, TouchSensor.class); + this.touchSensor = (TouchSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {ModernRoboticsTouchSensor.class, RevTouchSensor.class, TouchSensor.class}, methodName = {"isPressed"}) + public boolean getIsPressed() { + try { + startBlockExecution(BlockType.GETTER, ".IsPressed"); + return this.touchSensor.isPressed(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/UltrasonicSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/UltrasonicSensorAccess.java new file mode 100644 index 000000000000..ea5e56ad1bf4 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/UltrasonicSensorAccess.java @@ -0,0 +1,32 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.UltrasonicSensor; + +/* JADX INFO: loaded from: classes8.dex */ +class UltrasonicSensorAccess extends HardwareAccess { + private final UltrasonicSensor ultrasonicSensor; + + UltrasonicSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, UltrasonicSensor.class); + this.ultrasonicSensor = (UltrasonicSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {UltrasonicSensor.class}, methodName = {"getUltrasonicLevel"}) + public double getUltrasonicLevel() { + try { + startBlockExecution(BlockType.GETTER, ".UltrasonicLevel"); + return this.ultrasonicSensor.getUltrasonicLevel(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VectorFAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VectorFAccess.java new file mode 100644 index 000000000000..e2a920562e30 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VectorFAccess.java @@ -0,0 +1,363 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.matrices.MatrixF; +import org.firstinspires.ftc.robotcore.external.matrices.VectorF; + +/* JADX INFO: loaded from: classes8.dex */ +class VectorFAccess extends Access { + VectorFAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VectorF"); + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"length"}) + public int getLength(Object vectorArg) { + try { + startBlockExecution(BlockType.GETTER, ".Length"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return vector.length(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"magnitude"}) + public float getMagnitude(Object vectorArg) { + try { + startBlockExecution(BlockType.GETTER, ".Magnitude"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return vector.magnitude(); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"length"}) + public VectorF create(int length) { + try { + startBlockExecution(BlockType.CREATE, ""); + return VectorF.length(length); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"get"}) + public float get(Object vectorArg, int index) { + try { + startBlockExecution(BlockType.FUNCTION, ".get"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return vector.get(index); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"put"}) + public void put(Object vectorArg, int index, float value) { + try { + startBlockExecution(BlockType.FUNCTION, ".put"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + vector.put(index, value); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"toString"}) + public String toText(Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return vector.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"normalized3D"}) + public VectorF normalized3D(Object vectorArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".normalized3D"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return vector.normalized3D(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"dotProduct"}) + public float dotProduct(Object vector1Arg, Object vector2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".dotProduct"); + VectorF vector1 = (VectorF) checkArg(vector1Arg, VectorF.class, "vector1"); + VectorF vector2 = (VectorF) checkArg(vector2Arg, VectorF.class, "vector2"); + if (vector1 != null && vector2 != null) { + return vector1.dotProduct(vector2); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"multiplied"}) + public MatrixF multiplied(Object vectorArg, Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiplied"); + VectorF vector = checkVectorF(vectorArg); + MatrixF matrix = checkMatrixF(matrixArg); + if (vector != null && matrix != null) { + return vector.multiplied(matrix); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"added"}) + public MatrixF added_withMatrix(Object vectorArg, Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".added"); + VectorF vector = checkVectorF(vectorArg); + MatrixF matrix = checkMatrixF(matrixArg); + if (vector != null && matrix != null) { + return vector.added(matrix); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"added"}) + public VectorF added_withVector(Object vector1Arg, Object vector2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".added"); + VectorF vector1 = (VectorF) checkArg(vector1Arg, VectorF.class, "vector1"); + VectorF vector2 = (VectorF) checkArg(vector2Arg, VectorF.class, "vector2"); + if (vector1 != null && vector2 != null) { + return vector1.added(vector2); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"add"}) + public void add_withVector(Object vector1Arg, Object vector2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".add"); + VectorF vector1 = (VectorF) checkArg(vector1Arg, VectorF.class, "vector1"); + VectorF vector2 = (VectorF) checkArg(vector2Arg, VectorF.class, "vector2"); + if (vector1 != null && vector2 != null) { + vector1.add(vector2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"subtracted"}) + public MatrixF subtracted_withMatrix(Object vectorArg, Object matrixArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtracted"); + VectorF vector = checkVectorF(vectorArg); + MatrixF matrix = checkMatrixF(matrixArg); + if (vector != null && matrix != null) { + return vector.subtracted(matrix); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"subtracted"}) + public VectorF subtracted_withVector(Object vector1Arg, Object vector2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtracted"); + VectorF vector1 = (VectorF) checkArg(vector1Arg, VectorF.class, "vector1"); + VectorF vector2 = (VectorF) checkArg(vector2Arg, VectorF.class, "vector2"); + if (vector1 != null && vector2 != null) { + return vector1.subtracted(vector2); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"subtract"}) + public void subtract_withVector(Object vector1Arg, Object vector2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, ".subtract"); + VectorF vector1 = (VectorF) checkArg(vector1Arg, VectorF.class, "vector1"); + VectorF vector2 = (VectorF) checkArg(vector2Arg, VectorF.class, "vector2"); + if (vector1 != null && vector2 != null) { + vector1.subtract(vector2); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"multiplied"}) + public VectorF multiplied_withScale(Object vectorArg, float scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiplied"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + return vector.multiplied(scale); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VectorF.class}, methodName = {"multiply"}) + public void multiply_withScale(Object vectorArg, float scale) { + try { + startBlockExecution(BlockType.FUNCTION, ".multiply"); + VectorF vector = checkVectorF(vectorArg); + if (vector != null) { + vector.multiply(scale); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VelocityAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VelocityAccess.java new file mode 100644 index 000000000000..98df60fea2c8 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VelocityAccess.java @@ -0,0 +1,195 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.DistanceUnit; +import org.firstinspires.ftc.robotcore.external.navigation.Velocity; + +/* JADX INFO: loaded from: classes8.dex */ +class VelocityAccess extends Access { + VelocityAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "Velocity"); + } + + private Velocity checkVelocity(Object velocityArg) { + return (Velocity) checkArg(velocityArg, Velocity.class, "velocity"); + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, fieldName = {"unit"}) + public String getDistanceUnit(Object velocityArg) { + DistanceUnit distanceUnit; + try { + startBlockExecution(BlockType.GETTER, ".DistanceUnit"); + Velocity velocity = checkVelocity(velocityArg); + if (velocity != null && (distanceUnit = velocity.unit) != null) { + return distanceUnit.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, fieldName = {"xVeloc"}) + public double getXVeloc(Object velocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".XVeloc"); + Velocity velocity = checkVelocity(velocityArg); + if (velocity != null) { + return velocity.xVeloc; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, fieldName = {"yVeloc"}) + public double getYVeloc(Object velocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".YVeloc"); + Velocity velocity = checkVelocity(velocityArg); + if (velocity != null) { + return velocity.yVeloc; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, fieldName = {"zVeloc"}) + public double getZVeloc(Object velocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".ZVeloc"); + Velocity velocity = checkVelocity(velocityArg); + if (velocity != null) { + return velocity.zVeloc; + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, fieldName = {"acquisitionTime"}) + public long getAcquisitionTime(Object velocityArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + Velocity velocity = checkVelocity(velocityArg); + if (velocity != null) { + return velocity.acquisitionTime; + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, constructor = true) + public Velocity create() { + try { + startBlockExecution(BlockType.CREATE, ""); + return new Velocity(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, constructor = true) + public Velocity create_withArgs(String distanceUnitString, double xVeloc, double yVeloc, double zVeloc, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (distanceUnit != null) { + return new Velocity(distanceUnit, xVeloc, yVeloc, zVeloc, acquisitionTime); + } + endBlockExecution(); + return null; + } finally { + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, methodName = {"toUnit"}) + public Velocity toDistanceUnit(Object velocityArg, String distanceUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".toDistanceUnit"); + Velocity velocity = checkVelocity(velocityArg); + DistanceUnit distanceUnit = checkDistanceUnit(distanceUnitString); + if (velocity != null && distanceUnit != null) { + return velocity.toUnit(distanceUnit); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {Velocity.class}, methodName = {"toString"}) + public String toText(Object velocityArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + Velocity velocity = checkVelocity(velocityArg); + if (velocity != null) { + return velocity.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VisionPortalAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VisionPortalAccess.java new file mode 100644 index 000000000000..e803e8416735 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VisionPortalAccess.java @@ -0,0 +1,713 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.util.Size; +import android.webkit.JavascriptInterface; +import com.qualcomm.robotcore.hardware.HardwareMap; +import org.firstinspires.ftc.robotcore.external.hardware.camera.BuiltinCameraDirection; +import org.firstinspires.ftc.robotcore.external.hardware.camera.WebcamName; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.ExposureControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.FocusControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.GainControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.PtzControl; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.WhiteBalanceControl; +import org.firstinspires.ftc.robotcore.external.stream.CameraStreamServer; +import org.firstinspires.ftc.robotcore.internal.camera.delegating.SwitchableCameraName; +import org.firstinspires.ftc.robotcore.internal.collections.SimpleGson; +import org.firstinspires.ftc.vision.VisionPortal; +import org.firstinspires.ftc.vision.VisionProcessor; + +/* JADX INFO: loaded from: classes8.dex */ +class VisionPortalAccess extends Access { + private final HardwareMap hardwareMap; + + VisionPortalAccess(BlocksOpMode blocksOpMode, String identifier, HardwareMap hardwareMap) { + super(blocksOpMode, identifier, ""); + this.hardwareMap = hardwareMap; + } + + private VisionPortal.Builder checkVisionPortalBuilder(Object visionPortalBuilderArg) { + return (VisionPortal.Builder) checkArg(visionPortalBuilderArg, VisionPortal.Builder.class, "visionPortalBuilder"); + } + + private VisionPortal.StreamFormat checkStreamFormat(String streamFormatString) { + return (VisionPortal.StreamFormat) checkArg(streamFormatString, VisionPortal.StreamFormat.class, "streamFormat"); + } + + private VisionProcessor checkVisionProcessor(Object visionProcessorArg) { + return (VisionProcessor) checkArg(visionProcessorArg, VisionProcessor.class, "visionProcessor"); + } + + private VisionPortal checkVisionPortal(Object visionPortalArg) { + return (VisionPortal) checkArg(visionPortalArg, VisionPortal.class, "visionPortal"); + } + + private WebcamName checkWebcamName(Object webcamNameArg) { + return (WebcamName) checkArg(webcamNameArg, WebcamName.class, "webcamName"); + } + + private VisionPortal.MultiPortalLayout checkMultiPortalLayout(String multiPortalLayoutString) { + return (VisionPortal.MultiPortalLayout) checkArg(multiPortalLayoutString, VisionPortal.MultiPortalLayout.class, "multiPortalLayout"); + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, constructor = true) + public VisionPortal.Builder createBuilder() { + try { + startBlockExecution(BlockType.CREATE, "VisionPortal.Builder", ""); + return new VisionPortal.Builder(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setCamera"}) + public void setCamera(Object visionPortalBuilderArg, Object camera) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setCamera"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + if (camera instanceof BuiltinCameraDirection) { + visionPortalBuilder.setCamera((BuiltinCameraDirection) camera); + } else if (camera instanceof WebcamName) { + visionPortalBuilder.setCamera((WebcamName) camera); + } else if (camera instanceof SwitchableCameraName) { + visionPortalBuilder.setCamera((SwitchableCameraName) camera); + } else { + reportInvalidArg("camera", "BuiltinCameraName, WebcamName, or SwitchableCameraName"); + } + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setStreamFormat"}) + public void setStreamFormat(Object visionPortalBuilderArg, String streamFormatString) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setStreamFormat"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + VisionPortal.StreamFormat streamFormat = checkStreamFormat(streamFormatString); + if (visionPortalBuilder != null && streamFormat != null) { + visionPortalBuilder.setStreamFormat(streamFormat); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"enableLiveView"}) + public void enableLiveView(Object visionPortalBuilderArg, boolean enableLiveView) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".enableLiveView"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + visionPortalBuilder.enableLiveView(enableLiveView); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setAutoStopLiveView"}) + public void setAutoStopLiveView(Object visionPortalBuilderArg, boolean autoStopLiveView) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setAutoStopLiveView"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + visionPortalBuilder.setAutoStopLiveView(autoStopLiveView); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setAutoStartStreamOnBuild"}) + public void setAutoStartStreamOnBuild(Object visionPortalBuilderArg, boolean autoStartStreamOnBuild) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setAutoStartStreamOnBuild"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + visionPortalBuilder.setAutoStartStreamOnBuild(autoStartStreamOnBuild); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setShowStatsOverlay"}) + public void setShowStatsOverlay(Object visionPortalBuilderArg, boolean showStatsOverlay) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setShowStatsOverlay"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + visionPortalBuilder.setShowStatsOverlay(showStatsOverlay); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setLiveViewContainerId"}) + public void setLiveViewContainerId(Object visionPortalBuilderArg, int viewId) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setLiveViewContainerId"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + visionPortalBuilder.setLiveViewContainerId(viewId); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"setCameraResolution"}) + public void setCameraResolution(Object visionPortalBuilderArg, int width, int height) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".setCameraResolution"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + visionPortalBuilder.setCameraResolution(new Size(width, height)); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"addProcessor"}) + public void addProcessor(Object visionPortalBuilderArg, Object visionProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".addProcessor"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + VisionProcessor visionProcessor = checkVisionProcessor(visionProcessorArg); + if (visionPortalBuilder != null && visionProcessor != null) { + visionPortalBuilder.addProcessor(visionProcessor); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.Builder.class}, methodName = {"build"}) + public VisionPortal build(Object visionPortalBuilderArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal.Builder", ".build"); + VisionPortal.Builder visionPortalBuilder = checkVisionPortalBuilder(visionPortalBuilderArg); + if (visionPortalBuilder != null) { + return visionPortalBuilder.build(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"easyCreateWithDefaults"}) + public VisionPortal easyCreateWithDefaults_oneProcessor(Object camera, Object visionProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".easyCreateWithDefaults"); + VisionProcessor visionProcessor = checkVisionProcessor(visionProcessorArg); + if (visionProcessor != null) { + if (camera instanceof BuiltinCameraDirection) { + return VisionPortal.easyCreateWithDefaults((BuiltinCameraDirection) camera, visionProcessor); + } + if (camera instanceof WebcamName) { + return VisionPortal.easyCreateWithDefaults((WebcamName) camera, visionProcessor); + } + if (camera instanceof SwitchableCameraName) { + return VisionPortal.easyCreateWithDefaults((SwitchableCameraName) camera, visionProcessor); + } + reportInvalidArg("camera", "BuiltinCameraName, WebcamName, or SwitchableCameraName"); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"easyCreateWithDefaults"}) + public VisionPortal easyCreateWithDefaults_twoProcessors(Object camera, Object visionProcessor1Arg, Object visionProcessor2Arg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".easyCreateWithDefaults"); + VisionProcessor visionProcessor1 = checkVisionProcessor(visionProcessor1Arg); + VisionProcessor visionProcessor2 = checkVisionProcessor(visionProcessor2Arg); + if (visionProcessor1 != null && visionProcessor2 != null) { + if (camera instanceof BuiltinCameraDirection) { + return VisionPortal.easyCreateWithDefaults((BuiltinCameraDirection) camera, visionProcessor1, visionProcessor2); + } + if (camera instanceof WebcamName) { + return VisionPortal.easyCreateWithDefaults((WebcamName) camera, visionProcessor1, visionProcessor2); + } + if (camera instanceof SwitchableCameraName) { + return VisionPortal.easyCreateWithDefaults((SwitchableCameraName) camera, visionProcessor1, visionProcessor2); + } + reportInvalidArg("camera", "BuiltinCameraName, WebcamName, or SwitchableCameraName"); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"setProcessorEnabled"}) + public void setProcessorEnabled(Object visionPortalArg, Object visionProcessorArg, boolean enabled) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".setProcessorEnabled"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + VisionProcessor visionProcessor = checkVisionProcessor(visionProcessorArg); + if (visionPortal != null && visionProcessor != null) { + visionPortal.setProcessorEnabled(visionProcessor, enabled); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getProcessorEnabled"}) + public boolean getProcessorEnabled(Object visionPortalArg, Object visionProcessorArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getProcessorEnabled"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + VisionProcessor visionProcessor = checkVisionProcessor(visionProcessorArg); + if (visionPortal != null && visionProcessor != null) { + return visionPortal.getProcessorEnabled(visionProcessor); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getCameraState"}) + public String getCameraState(Object visionPortalArg) { + VisionPortal.CameraState cameraState; + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getCameraState"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null && (cameraState = visionPortal.getCameraState()) != null) { + return cameraState.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"saveNextFrameRaw"}) + public void saveNextFrameRaw(Object visionPortalArg, String filename) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".saveNextFrameRaw"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + visionPortal.saveNextFrameRaw(filename); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"stopStreaming"}) + public void stopStreaming(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".stopStreaming"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + visionPortal.stopStreaming(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"resumeStreaming"}) + public void resumeStreaming(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".resumeStreaming"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + visionPortal.resumeStreaming(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"stopLiveView"}) + public void stopLiveView(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".stopLiveView"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + visionPortal.stopLiveView(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"resumeLiveView"}) + public void resumeLiveView(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".resumeLiveView"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + visionPortal.resumeLiveView(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getFps"}) + public float getFps(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getFps"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return visionPortal.getFps(); + } + endBlockExecution(); + return 0.0f; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getCameraControl"}) + public ExposureControl getExposureControl(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getExposureControl"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return (ExposureControl) visionPortal.getCameraControl(ExposureControl.class); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getCameraControl"}) + public FocusControl getFocusControl(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getFocusControl"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return (FocusControl) visionPortal.getCameraControl(FocusControl.class); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getCameraControl"}) + public GainControl getGainControl(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getGainControl"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return (GainControl) visionPortal.getCameraControl(GainControl.class); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getCameraControl"}) + public PtzControl getPtzControl(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getPtzControl"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return (PtzControl) visionPortal.getCameraControl(PtzControl.class); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getCameraControl"}) + public WhiteBalanceControl getWhiteBalanceControl(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getWhiteBalanceControl"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return (WhiteBalanceControl) visionPortal.getCameraControl(WhiteBalanceControl.class); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"setActiveCamera"}) + public void setActiveCamera(Object visionPortalArg, Object webcamNameArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".setActiveCamera"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + WebcamName webcamName = checkWebcamName(webcamNameArg); + if (visionPortal != null) { + visionPortal.setActiveCamera(webcamName); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"getActiveCamera"}) + public WebcamName getActiveCamera(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".getActiveCamera"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + return visionPortal.getActiveCamera(); + } + endBlockExecution(); + return null; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(exclusiveToBlocks = true) + public void cameraStreamServer_setSource(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "CameraStreamServer", ".setSource"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + CameraStreamServer.getInstance().setSource(visionPortal); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"close"}) + public void close(Object visionPortalArg) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".close"); + VisionPortal visionPortal = checkVisionPortal(visionPortalArg); + if (visionPortal != null) { + visionPortal.close(); + } + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {VisionPortal.class}, methodName = {"makeMultiPortalView"}) + public String makeMultiPortalView(int numPortals, String multiPortalLayoutString) { + try { + startBlockExecution(BlockType.FUNCTION, "VisionPortal", ".makeMultiPortalView"); + VisionPortal.MultiPortalLayout multiPortalLayout = checkMultiPortalLayout(multiPortalLayoutString); + if (multiPortalLayout != null) { + return SimpleGson.getInstance().toJson(VisionPortal.makeMultiPortalView(numPortals, multiPortalLayout)); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VoltageSensorAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VoltageSensorAccess.java new file mode 100644 index 000000000000..5b9f938a6ee7 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/VoltageSensorAccess.java @@ -0,0 +1,32 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.qualcomm.robotcore.hardware.HardwareMap; +import com.qualcomm.robotcore.hardware.VoltageSensor; + +/* JADX INFO: loaded from: classes8.dex */ +class VoltageSensorAccess extends HardwareAccess { + private final VoltageSensor voltageSensor; + + VoltageSensorAccess(BlocksOpMode blocksOpMode, HardwareItem hardwareItem, HardwareMap hardwareMap) { + super(blocksOpMode, hardwareItem, hardwareMap, VoltageSensor.class); + this.voltageSensor = (VoltageSensor) this.hardwareDevice; + } + + @JavascriptInterface + @Block(classes = {VoltageSensor.class}, methodName = {"getVoltage"}) + public double getVoltage() { + try { + startBlockExecution(BlockType.GETTER, ".Voltage"); + return this.voltageSensor.getVoltage(); + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/WhiteBalanceControlAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/WhiteBalanceControlAccess.java new file mode 100644 index 000000000000..3482bc228991 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/WhiteBalanceControlAccess.java @@ -0,0 +1,145 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import org.firstinspires.ftc.robotcore.external.hardware.camera.controls.WhiteBalanceControl; + +/* JADX INFO: loaded from: classes8.dex */ +class WhiteBalanceControlAccess extends Access { + WhiteBalanceControlAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "WhiteBalanceControl"); + } + + private WhiteBalanceControl checkWhiteBalanceControl(Object whiteBalanceControlArg) { + return (WhiteBalanceControl) checkArg(whiteBalanceControlArg, WhiteBalanceControl.class, "whiteBalanceControl"); + } + + private WhiteBalanceControl.Mode checkMode(String modeString) { + return (WhiteBalanceControl.Mode) checkArg(modeString, WhiteBalanceControl.Mode.class, "Mode"); + } + + @JavascriptInterface + @Block(classes = {WhiteBalanceControl.class}, methodName = {"getMode"}) + public String getMode(Object whiteBalanceControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "WhiteBalanceControl", ".getMode"); + WhiteBalanceControl whiteBalanceControl = checkWhiteBalanceControl(whiteBalanceControlArg); + if (whiteBalanceControl != null) { + return whiteBalanceControl.getMode().toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {WhiteBalanceControl.class}, methodName = {"setMode"}) + public boolean setMode(Object whiteBalanceControlArg, String modeString) { + try { + startBlockExecution(BlockType.FUNCTION, "WhiteBalanceControl", ".setMode"); + WhiteBalanceControl whiteBalanceControl = checkWhiteBalanceControl(whiteBalanceControlArg); + WhiteBalanceControl.Mode mode = checkMode(modeString); + if (whiteBalanceControl != null && mode != null) { + return whiteBalanceControl.setMode(mode); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {WhiteBalanceControl.class}, methodName = {"getMinWhiteBalanceTemperature"}) + public int getMinWhiteBalanceTemperature(Object whiteBalanceControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "WhiteBalanceControl", ".getMinWhiteBalanceTemperature"); + WhiteBalanceControl whiteBalanceControl = checkWhiteBalanceControl(whiteBalanceControlArg); + if (whiteBalanceControl != null) { + return whiteBalanceControl.getMinWhiteBalanceTemperature(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {WhiteBalanceControl.class}, methodName = {"getMaxWhiteBalanceTemperature"}) + public int getMaxWhiteBalanceTemperature(Object whiteBalanceControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "WhiteBalanceControl", ".getMaxWhiteBalanceTemperature"); + WhiteBalanceControl whiteBalanceControl = checkWhiteBalanceControl(whiteBalanceControlArg); + if (whiteBalanceControl != null) { + return whiteBalanceControl.getMaxWhiteBalanceTemperature(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {WhiteBalanceControl.class}, methodName = {"getWhiteBalanceTemperature"}) + public int getWhiteBalanceTemperature(Object whiteBalanceControlArg) { + try { + startBlockExecution(BlockType.FUNCTION, "WhiteBalanceControl", ".getWhiteBalanceTemperature"); + WhiteBalanceControl whiteBalanceControl = checkWhiteBalanceControl(whiteBalanceControlArg); + if (whiteBalanceControl != null) { + return whiteBalanceControl.getWhiteBalanceTemperature(); + } + endBlockExecution(); + return 0; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {WhiteBalanceControl.class}, methodName = {"setWhiteBalanceTemperature"}) + public boolean setWhiteBalanceTemperature(Object whiteBalanceControlArg, int whiteBalanceTemperature) { + try { + startBlockExecution(BlockType.FUNCTION, "WhiteBalanceControl", ".setWhiteBalanceTemperature"); + WhiteBalanceControl whiteBalanceControl = checkWhiteBalanceControl(whiteBalanceControlArg); + if (whiteBalanceControl != null) { + return whiteBalanceControl.setWhiteBalanceTemperature(whiteBalanceTemperature); + } + endBlockExecution(); + return false; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/YawPitchRollAnglesAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/YawPitchRollAnglesAccess.java new file mode 100644 index 000000000000..c4351d0c5b69 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/YawPitchRollAnglesAccess.java @@ -0,0 +1,150 @@ +package com.google.blocks.ftcrobotcontroller.runtime; + +import android.webkit.JavascriptInterface; +import com.qualcomm.hardware.lynx.LynxServoController; +import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; +import org.firstinspires.ftc.robotcore.external.navigation.YawPitchRollAngles; + +/* JADX INFO: loaded from: classes8.dex */ +class YawPitchRollAnglesAccess extends Access { + YawPitchRollAnglesAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "YawPitchRollAngles"); + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, methodName = {"getYaw"}) + public double getYaw(Object yawPitchRollAnglesArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getYaw"); + YawPitchRollAngles yawPitchRollAngles = checkYawPitchRollAngles(yawPitchRollAnglesArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (yawPitchRollAngles != null && angleUnit != null) { + return yawPitchRollAngles.getYaw(angleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, methodName = {"getPitch"}) + public double getPitch(Object yawPitchRollAnglesArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getPitch"); + YawPitchRollAngles yawPitchRollAngles = checkYawPitchRollAngles(yawPitchRollAnglesArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (yawPitchRollAngles != null && angleUnit != null) { + return yawPitchRollAngles.getPitch(angleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, methodName = {"getRoll"}) + public double getRoll(Object yawPitchRollAnglesArg, String angleUnitString) { + try { + startBlockExecution(BlockType.FUNCTION, ".getRoll"); + YawPitchRollAngles yawPitchRollAngles = checkYawPitchRollAngles(yawPitchRollAnglesArg); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (yawPitchRollAngles != null && angleUnit != null) { + return yawPitchRollAngles.getRoll(angleUnit); + } + endBlockExecution(); + return LynxServoController.apiPositionFirst; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, constructor = true) + public YawPitchRollAngles create_withArgs(String angleUnitString, double yaw, double pitch, double roll, long acquisitionTime) { + try { + startBlockExecution(BlockType.CREATE, ""); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return new YawPitchRollAngles(angleUnit, yaw, pitch, roll, acquisitionTime); + } + endBlockExecution(); + return null; + } finally { + } + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, constructor = true) + public YawPitchRollAngles create_withArgs2(String angleUnitString, double yaw, double pitch, double roll) { + try { + startBlockExecution(BlockType.CREATE, ""); + AngleUnit angleUnit = checkAngleUnit(angleUnitString); + if (angleUnit != null) { + return new YawPitchRollAngles(angleUnit, yaw, pitch, roll, 0L); + } + endBlockExecution(); + return null; + } finally { + } + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, methodName = {"getAcquisitionTime"}) + public long getAcquisitionTime(Object yawPitchRollAnglesArg) { + try { + startBlockExecution(BlockType.GETTER, ".AcquisitionTime"); + YawPitchRollAngles yawPitchRollAngles = checkYawPitchRollAngles(yawPitchRollAnglesArg); + if (yawPitchRollAngles != null) { + return yawPitchRollAngles.getAcquisitionTime(); + } + endBlockExecution(); + return 0L; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } + + @JavascriptInterface + @Block(classes = {YawPitchRollAngles.class}, methodName = {"toString"}) + public String toText(Object yawPitchRollAnglesArg) { + try { + startBlockExecution(BlockType.FUNCTION, ".toText"); + YawPitchRollAngles yawPitchRollAngles = checkYawPitchRollAngles(yawPitchRollAnglesArg); + if (yawPitchRollAngles != null) { + return yawPitchRollAngles.toString(); + } + return ""; + } catch (Throwable e) { + try { + this.blocksOpMode.handleFatalException(e); + throw new AssertionError("impossible", e); + } finally { + endBlockExecution(); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TensorFlowAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TensorFlowAccess.java new file mode 100644 index 000000000000..12a1d81af810 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TensorFlowAccess.java @@ -0,0 +1,133 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TensorFlowAccess extends Access { + public TensorFlowAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, ""); + } + + @JavascriptInterface + public Object createBuilder() { + handleObsoleteBlockExecution(BlockType.CREATE, "TfodProcessor.Builder", ""); + return null; + } + + @JavascriptInterface + public void setModelAssetName(Object tfodProcessorBuilderArg, String modelAssetName) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setModelAssetName"); + } + + @JavascriptInterface + public void setModelFileName(Object tfodProcessorBuilderArg, String modelFileName) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setModelFileName"); + } + + @JavascriptInterface + public void setModelLabels(Object tfodProcessorBuilderArg, String jsonLabels) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setModelLabels"); + } + + @JavascriptInterface + public void setIsModelTensorFlow2(Object tfodProcessorBuilderArg, boolean isModelTensorFlow2) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setIsModelTensorFlow2"); + } + + @JavascriptInterface + public void setIsModelQuantized(Object tfodProcessorBuilderArg, boolean isModelQuantized) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setIsModelQuantized"); + } + + @JavascriptInterface + public void setModelInputSize(Object tfodProcessorBuilderArg, int modelInputSize) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setModelInputSize"); + } + + @JavascriptInterface + public void setModelAspectRatio(Object tfodProcessorBuilderArg, double modelAspectRatio) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setModelAspectRatio"); + } + + @JavascriptInterface + public void setNumDetectorThreads(Object tfodProcessorBuilderArg, int numDetectorThreads) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setNumDetectorThreads"); + } + + @JavascriptInterface + public void setNumExecutorThreads(Object tfodProcessorBuilderArg, int numExecutorThreads) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setNumExecutorThreads"); + } + + @JavascriptInterface + public void setMaxNumRecognitions(Object tfodProcessorBuilderArg, int maxNumRecognitions) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setMaxNumRecognitions"); + } + + @JavascriptInterface + public void setUseObjectTracker(Object tfodProcessorBuilderArg, boolean useObjectTracker) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setUseObjectTracker"); + } + + @JavascriptInterface + public void setTrackerMaxOverlap(Object tfodProcessorBuilderArg, float trackerMaxOverlap) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setTrackerMaxOverlap"); + } + + @JavascriptInterface + public void setTrackerMinSize(Object tfodProcessorBuilderArg, float trackerMinSize) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setTrackerMinSize"); + } + + @JavascriptInterface + public void setTrackerMarginalCorrelation(Object tfodProcessorBuilderArg, float trackerMarginalCorrelation) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setTrackerMarginalCorrelation"); + } + + @JavascriptInterface + public void setTrackerMinCorrelation(Object tfodProcessorBuilderArg, float trackerMinCorrelation) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".setTrackerMinCorrelation"); + } + + @JavascriptInterface + public Object build(Object tfodProcessorBuilderArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor.Builder", ".build"); + return null; + } + + @JavascriptInterface + public Object easyCreateWithDefaults() { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor", ".easyCreateWithDefaults"); + return null; + } + + @JavascriptInterface + public void setMinResultConfidence(Object tfodProcessorArg, float minResultConfidence) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor", ".setMinResultConfidence"); + } + + @JavascriptInterface + public void setClippingMargins(Object tfodProcessorArg, int left, int top, int right, int bottom) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor", ".setClippingMargins"); + } + + @JavascriptInterface + public void setZoom(Object tfodProcessorArg, double magnification) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor", ".setZoom"); + } + + @JavascriptInterface + public String getRecognitions(Object tfodProcessorArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor", ".getRecognitions"); + return "[]"; + } + + @JavascriptInterface + public String getFreshRecognitions(Object tfodProcessorArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, "TfodProcessor", ".getFreshRecognitions"); + return "[]"; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodAccess.java new file mode 100644 index 000000000000..7cd980ded3bd --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodAccess.java @@ -0,0 +1,84 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TfodAccess extends Access { + public TfodAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "TensorFlowObjectDetection"); + } + + @JavascriptInterface + public void useDefaultModel() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".useDefaultModelForPOWERPLAY"); + } + + @JavascriptInterface + public void useModelFromAsset(String assetName, String jsonLabels, boolean isModelTensorFlow2, boolean isModelQuantized, int inputSize) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".useModelFromAsset"); + } + + @JavascriptInterface + public void useModelFromFile(String fileName, String jsonLabels, boolean isModelTensorFlow2, boolean isModelQuantized, int inputSize) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".useModelFromFile"); + } + + @JavascriptInterface + public void initialize(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initializeWithMoreArgs(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring, int numInterpreterThreads, int numExecutorThreads, int maxNumDetections, int timingBufferSize, double maxFrameRate, float trackerMaxOverlap, float trackerMinSize, float trackerMarginalCorrelation, float trackerMinCorrelation) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void activate() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".activate"); + } + + @JavascriptInterface + public void deactivate() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".deactivate"); + } + + @JavascriptInterface + public void setClippingMargins(int left, int top, int right, int bottom) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setClippingMargins"); + } + + @JavascriptInterface + public void setZoom(double magnification, double aspectRatio) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setZoom"); + } + + @JavascriptInterface + public String getRecognitions() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".getRecognitions"); + return "[]"; + } + + @JavascriptInterface + public void setModelFromAssetLegacy(String assetName, String jsonLabels) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".useModelFromAsset"); + } + + @JavascriptInterface + public void setModelFromFileLegacy(String fileName, String jsonLabels) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".useModelFromFile"); + } + + @JavascriptInterface + public void initializeWithIsModelTensorFlow2Legacy(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring, boolean isModelTensorFlow2) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initializeWithAllArgsLegacy(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring, boolean isModelTensorFlow2, boolean isModelQuantized, int inputSize, int numInterpreterThreads, int numExecutorThreads, int maxNumDetections, int timingBufferSize, double maxFrameRate, float trackerMaxOverlap, float trackerMinSize, float trackerMarginalCorrelation, float trackerMinCorrelation) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodBaseAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodBaseAccess.java new file mode 100644 index 000000000000..369d33b31678 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodBaseAccess.java @@ -0,0 +1,54 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +abstract class TfodBaseAccess extends Access { + TfodBaseAccess(BlocksOpMode blocksOpMode, String identifier, String blockFirstName) { + super(blocksOpMode, identifier, blockFirstName); + } + + @JavascriptInterface + public void initialize(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initializeWithIsModelTensorFlow2(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring, boolean isModelTensorFlow2) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initializeWithAllArgs(Object vuforiaBaseAccess, float minimumConfidence, boolean useObjectTracker, boolean enableCameraMonitoring, boolean isModelTensorFlow2, boolean isModelQuantized, int inputSize, int numInterpreterThreads, int numExecutorThreads, int maxNumDetections, int timingBufferSize, double maxFrameRate, float trackerMaxOverlap, float trackerMinSize, float trackerMarginalCorrelation, float trackerMinCorrelation) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void activate() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".activate"); + } + + @JavascriptInterface + public void deactivate() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".deactivate"); + } + + @JavascriptInterface + public void setClippingMargins(int left, int top, int right, int bottom) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setClippingMargins"); + } + + @JavascriptInterface + public void setZoom(double magnification, double aspectRatio) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setZoom"); + } + + @JavascriptInterface + public String getRecognitions() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".getRecognitions"); + return "[]"; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCurrentGameAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCurrentGameAccess.java new file mode 100644 index 000000000000..21afc922d9d2 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCurrentGameAccess.java @@ -0,0 +1,59 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TfodCurrentGameAccess extends TfodBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String getRecognitions() { + return super.getRecognitions(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize(Object obj, float f, boolean z, boolean z2) { + super.initialize(obj, f, z, z2); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithAllArgs(Object obj, float f, boolean z, boolean z2, boolean z3, boolean z4, int i, int i2, int i3, int i4, int i5, double d, float f2, float f3, float f4, float f5) { + super.initializeWithAllArgs(obj, f, z, z2, z3, z4, i, i2, i3, i4, i5, d, f2, f3, f4, f5); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithIsModelTensorFlow2(Object obj, float f, boolean z, boolean z2, boolean z3) { + super.initializeWithIsModelTensorFlow2(obj, f, z, z2, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setClippingMargins(int i, int i2, int i3, int i4) { + super.setClippingMargins(i, i2, i3, i4); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setZoom(double d, double d2) { + super.setZoom(d, d2); + } + + public TfodCurrentGameAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "TensorFlowObjectDetectionPOWERPLAY"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCustomModelAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCustomModelAccess.java new file mode 100644 index 000000000000..bfd4749c5d11 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodCustomModelAccess.java @@ -0,0 +1,70 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TfodCustomModelAccess extends TfodBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String getRecognitions() { + return super.getRecognitions(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize(Object obj, float f, boolean z, boolean z2) { + super.initialize(obj, f, z, z2); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithAllArgs(Object obj, float f, boolean z, boolean z2, boolean z3, boolean z4, int i, int i2, int i3, int i4, int i5, double d, float f2, float f3, float f4, float f5) { + super.initializeWithAllArgs(obj, f, z, z2, z3, z4, i, i2, i3, i4, i5, d, f2, f3, f4, f5); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithIsModelTensorFlow2(Object obj, float f, boolean z, boolean z2, boolean z3) { + super.initializeWithIsModelTensorFlow2(obj, f, z, z2, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setClippingMargins(int i, int i2, int i3, int i4) { + super.setClippingMargins(i, i2, i3, i4); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setZoom(double d, double d2) { + super.setZoom(d, d2); + } + + public TfodCustomModelAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "TensorFlowObjectDetectionCustomModel"); + } + + @JavascriptInterface + public void setModelFromAsset(String assetName, String jsonLabels) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setModelFromAsset"); + } + + @JavascriptInterface + public void setModelFromFile(String tfliteModelFilename, String jsonLabels) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setModelFromFile"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodRoverRuckusAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodRoverRuckusAccess.java new file mode 100644 index 000000000000..e82a2f6610ec --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodRoverRuckusAccess.java @@ -0,0 +1,59 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TfodRoverRuckusAccess extends TfodBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String getRecognitions() { + return super.getRecognitions(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize(Object obj, float f, boolean z, boolean z2) { + super.initialize(obj, f, z, z2); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithAllArgs(Object obj, float f, boolean z, boolean z2, boolean z3, boolean z4, int i, int i2, int i3, int i4, int i5, double d, float f2, float f3, float f4, float f5) { + super.initializeWithAllArgs(obj, f, z, z2, z3, z4, i, i2, i3, i4, i5, d, f2, f3, f4, f5); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithIsModelTensorFlow2(Object obj, float f, boolean z, boolean z2, boolean z3) { + super.initializeWithIsModelTensorFlow2(obj, f, z, z2, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setClippingMargins(int i, int i2, int i3, int i4) { + super.setClippingMargins(i, i2, i3, i4); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setZoom(double d, double d2) { + super.setZoom(d, d2); + } + + public TfodRoverRuckusAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "TensorFlowObjectDetectionRoverRuckus"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodSkyStoneAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodSkyStoneAccess.java new file mode 100644 index 000000000000..431bbc94ae41 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/TfodSkyStoneAccess.java @@ -0,0 +1,59 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TfodSkyStoneAccess extends TfodBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String getRecognitions() { + return super.getRecognitions(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize(Object obj, float f, boolean z, boolean z2) { + super.initialize(obj, f, z, z2); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithAllArgs(Object obj, float f, boolean z, boolean z2, boolean z3, boolean z4, int i, int i2, int i3, int i4, int i5, double d, float f2, float f3, float f4, float f5) { + super.initializeWithAllArgs(obj, f, z, z2, z3, z4, i, i2, i3, i4, i5, d, f2, f3, f4, f5); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initializeWithIsModelTensorFlow2(Object obj, float f, boolean z, boolean z2, boolean z3) { + super.initializeWithIsModelTensorFlow2(obj, f, z, z2, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setClippingMargins(int i, int i2, int i3, int i4) { + super.setClippingMargins(i, i2, i3, i4); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.TfodBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setZoom(double d, double d2) { + super.setZoom(d, d2); + } + + public TfodSkyStoneAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "TensorFlowObjectDetectionSKYSTONE"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaBaseAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaBaseAccess.java new file mode 100644 index 000000000000..e59dfb821155 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaBaseAccess.java @@ -0,0 +1,66 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +abstract class VuforiaBaseAccess extends Access { + VuforiaBaseAccess(BlocksOpMode blocksOpMode, String identifier, String blockFirstName) { + super(blocksOpMode, identifier, blockFirstName); + } + + @JavascriptInterface + public void initialize_withCameraDirection(String vuforiaLicenseKey, String cameraDirectionString, boolean useExtendedTracking, boolean enableCameraMonitoring, String cameraMonitorFeedbackString, float dx, float dy, float dz, float xAngle, float yAngle, float zAngle, boolean useCompetitionFieldTargetLocations) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initialize_withCameraDirection_2(String cameraDirectionString, boolean useExtendedTracking, boolean enableCameraMonitoring, String cameraMonitorFeedbackString, float dx, float dy, float dz, String axesOrderString, float firstAngle, float secondAngle, float thirdAngle, boolean useCompetitionFieldTargetLocations) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initialize_withWebcam(String cameraNameString, String webcamCalibrationFilename, boolean useExtendedTracking, boolean enableCameraMonitoring, String cameraMonitorFeedbackString, float dx, float dy, float dz, float xAngle, float yAngle, float zAngle, boolean useCompetitionFieldTargetLocations) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initialize_withWebcam_2(String cameraNameString, String webcamCalibrationFilename, boolean useExtendedTracking, boolean enableCameraMonitoring, String cameraMonitorFeedbackString, float dx, float dy, float dz, String axesOrderString, float firstAngle, float secondAngle, float thirdAngle, boolean useCompetitionFieldTargetLocations) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void activate() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".activate"); + } + + @JavascriptInterface + public void deactivate() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".deactivate"); + } + + @JavascriptInterface + public void setActiveCamera(String cameraNameString) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setActiveCamera"); + } + + @JavascriptInterface + public String track(String name) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".track"); + return "[]"; + } + + @JavascriptInterface + public String trackPose(String name) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".trackPose"); + return "[]"; + } + + @JavascriptInterface + public Object getVuforiaLocalizer() { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".getVuforiaLocalizer"); + return null; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaCurrentGameAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaCurrentGameAccess.java new file mode 100644 index 000000000000..e9bfb7300908 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaCurrentGameAccess.java @@ -0,0 +1,71 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class VuforiaCurrentGameAccess extends VuforiaBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ Object getVuforiaLocalizer() { + return super.getVuforiaLocalizer(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection_2(String str, boolean z, boolean z2, String str2, float f, float f2, float f3, String str3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection_2(str, z, z2, str2, f, f2, f3, str3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam_2(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, String str4, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam_2(str, str2, z, z2, str3, f, f2, f3, str4, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setActiveCamera(String str) { + super.setActiveCamera(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String track(String str) { + return super.track(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String trackPose(String str) { + return super.trackPose(str); + } + + public VuforiaCurrentGameAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaPOWERPLAY"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerAccess.java new file mode 100644 index 000000000000..db56c1c217f2 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerAccess.java @@ -0,0 +1,31 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public class VuforiaLocalizerAccess extends Access { + public VuforiaLocalizerAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaLocalizer"); + } + + @JavascriptInterface + public Object create(Object vuforiaLocalizerParameters) { + handleObsoleteBlockExecution(BlockType.CREATE, ""); + return null; + } + + @JavascriptInterface + public Object loadTrackablesFromAsset(Object vuforiaLocalizerArg, String assetName) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".loadTrackablesFromAsset"); + return null; + } + + @JavascriptInterface + public Object loadTrackablesFromFile(Object vuforiaLocalizerArg, String absoluteFileName) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".loadTrackablesFromFile"); + return null; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerParametersAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerParametersAccess.java new file mode 100644 index 000000000000..fa47ee40a7af --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaLocalizerParametersAccess.java @@ -0,0 +1,101 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public class VuforiaLocalizerParametersAccess extends Access { + public VuforiaLocalizerParametersAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaLocalizer.Parameters"); + } + + @JavascriptInterface + public Object create() { + handleObsoleteBlockExecution(BlockType.CREATE, ""); + return null; + } + + @JavascriptInterface + public void setVuforiaLicenseKey(Object parametersArg, String vuforiaLicenseKey) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setVuforiaLicenseKey"); + } + + @JavascriptInterface + public String getVuforiaLicenseKey(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".VuforiaLicenseKey"); + return ""; + } + + @JavascriptInterface + public void setCameraDirection(Object parametersArg, String cameraDirectionString) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setCameraDirection"); + } + + @JavascriptInterface + public String getCameraDirection(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".CameraDirection"); + return ""; + } + + @JavascriptInterface + public void setCameraName(Object parametersArg, String cameraNameString) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setCameraName"); + } + + @JavascriptInterface + public String getCameraName(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".CameraName"); + return ""; + } + + @JavascriptInterface + public void addWebcamCalibrationFile(Object parametersArg, String webcamCalibrationFilename) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".addWebcamCalibrationFile"); + } + + @JavascriptInterface + public void setUseExtendedTracking(Object parametersArg, boolean useExtendedTracking) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setUseExtendedTracking"); + } + + @JavascriptInterface + public boolean getUseExtendedTracking(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".UseExtendedTracking"); + return false; + } + + @JavascriptInterface + public boolean getEnableCameraMonitoring(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".EnableCameraMonitoring"); + return false; + } + + @JavascriptInterface + public void setCameraMonitorFeedback(Object parametersArg, String cameraMonitorFeedbackString) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setCameraMonitorFeedback"); + } + + @JavascriptInterface + public String getCameraMonitorFeedback(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".CameraMonitorFeedback"); + return ""; + } + + @JavascriptInterface + public void setFillCameraMonitorViewParent(Object parametersArg, boolean fillCameraMonitorViewParent) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setFillCameraMonitorViewParent"); + } + + @JavascriptInterface + public boolean getFillCameraMonitorViewParent(Object parametersArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".FillCameraMonitorViewParent"); + return false; + } + + @JavascriptInterface + public void setEnableCameraMonitoring(Object parametersArg, boolean enableCameraMonitoring) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setEnableCameraMonitoring"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRelicRecoveryAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRelicRecoveryAccess.java new file mode 100644 index 000000000000..46efff7bea13 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRelicRecoveryAccess.java @@ -0,0 +1,82 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class VuforiaRelicRecoveryAccess extends VuforiaBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ Object getVuforiaLocalizer() { + return super.getVuforiaLocalizer(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection_2(String str, boolean z, boolean z2, String str2, float f, float f2, float f3, String str3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection_2(str, z, z2, str2, f, f2, f3, str3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam_2(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, String str4, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam_2(str, str2, z, z2, str3, f, f2, f3, str4, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setActiveCamera(String str) { + super.setActiveCamera(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String track(String str) { + return super.track(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String trackPose(String str) { + return super.trackPose(str); + } + + public VuforiaRelicRecoveryAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaRelicRecovery"); + } + + @JavascriptInterface + public void initialize(String vuforiaLicenseKey, String cameraDirectionString, boolean enableCameraMonitoring, String cameraMonitorFeedbackString, float dx, float dy, float dz, float xAngle, float yAngle, float zAngle) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } + + @JavascriptInterface + public void initializeExtended(String vuforiaLicenseKey, String cameraDirectionString, boolean useExtendedTracking, boolean enableCameraMonitoring, String cameraMonitorFeedbackString, float dx, float dy, float dz, float xAngle, float yAngle, float zAngle, boolean useCompetitionFieldTargetLocations) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".initialize"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRoverRuckusAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRoverRuckusAccess.java new file mode 100644 index 000000000000..93276e36c2bd --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaRoverRuckusAccess.java @@ -0,0 +1,71 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class VuforiaRoverRuckusAccess extends VuforiaBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ Object getVuforiaLocalizer() { + return super.getVuforiaLocalizer(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection_2(String str, boolean z, boolean z2, String str2, float f, float f2, float f3, String str3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection_2(str, z, z2, str2, f, f2, f3, str3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam_2(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, String str4, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam_2(str, str2, z, z2, str3, f, f2, f3, str4, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setActiveCamera(String str) { + super.setActiveCamera(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String track(String str) { + return super.track(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String trackPose(String str) { + return super.trackPose(str); + } + + public VuforiaRoverRuckusAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaRoverRuckus"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaSkyStoneAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaSkyStoneAccess.java new file mode 100644 index 000000000000..578f77f92178 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaSkyStoneAccess.java @@ -0,0 +1,71 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public final class VuforiaSkyStoneAccess extends VuforiaBaseAccess { + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void activate() { + super.activate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void deactivate() { + super.deactivate(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ Object getVuforiaLocalizer() { + return super.getVuforiaLocalizer(); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withCameraDirection_2(String str, boolean z, boolean z2, String str2, float f, float f2, float f3, String str3, float f4, float f5, float f6, boolean z3) { + super.initialize_withCameraDirection_2(str, z, z2, str2, f, f2, f3, str3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam(str, str2, z, z2, str3, f, f2, f3, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void initialize_withWebcam_2(String str, String str2, boolean z, boolean z2, String str3, float f, float f2, float f3, String str4, float f4, float f5, float f6, boolean z3) { + super.initialize_withWebcam_2(str, str2, z, z2, str3, f, f2, f3, str4, f4, f5, f6, z3); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ void setActiveCamera(String str) { + super.setActiveCamera(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String track(String str) { + return super.track(str); + } + + @Override // com.google.blocks.ftcrobotcontroller.runtime.obsolete.VuforiaBaseAccess + @JavascriptInterface + public /* bridge */ /* synthetic */ String trackPose(String str) { + return super.trackPose(str); + } + + public VuforiaSkyStoneAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaSKYSTONE"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableAccess.java new file mode 100644 index 000000000000..f20ea3e77484 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableAccess.java @@ -0,0 +1,58 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public class VuforiaTrackableAccess extends Access { + public VuforiaTrackableAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaTrackable"); + } + + @JavascriptInterface + public void setLocation(Object vuforiaTrackableArg, Object matrixArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setLocation"); + } + + @JavascriptInterface + public Object getLocation(Object vuforiaTrackableArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Location"); + return null; + } + + @JavascriptInterface + public void setUserData(Object vuforiaTrackableArg, Object userData) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setUserData"); + } + + @JavascriptInterface + public Object getUserData(Object vuforiaTrackableArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".UserData"); + return null; + } + + @JavascriptInterface + public Object getTrackables(Object vuforiaTrackableArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Trackables"); + return null; + } + + @JavascriptInterface + public void setName(Object vuforiaTrackableArg, String name) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setName"); + } + + @JavascriptInterface + public String getName(Object vuforiaTrackableArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Name"); + return ""; + } + + @JavascriptInterface + public Object getListener(Object vuforiaTrackableArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Listener"); + return null; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableDefaultListenerAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableDefaultListenerAccess.java new file mode 100644 index 000000000000..b93294e6cce5 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackableDefaultListenerAccess.java @@ -0,0 +1,47 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public class VuforiaTrackableDefaultListenerAccess extends Access { + public VuforiaTrackableDefaultListenerAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaTrackableDefaultListener"); + } + + @JavascriptInterface + public void setPhoneInformation(Object vuforiaTrackableDefaultListenerArg, Object phoneLocationOnRobotArg, String cameraDirectionString) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setPhoneInformation"); + } + + @JavascriptInterface + public void setCameraLocationOnRobot(Object vuforiaTrackableDefaultListenerArg, String cameraNameString, Object cameraLocationOnRobotArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setCameraLocationOnRobot"); + } + + @JavascriptInterface + public boolean isVisible(Object vuforiaTrackableDefaultListenerArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".isVisible"); + return false; + } + + @JavascriptInterface + public Object getUpdatedRobotLocation(Object vuforiaTrackableDefaultListenerArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".getUpdatedRobotLocation"); + return null; + } + + @JavascriptInterface + public Object getPose(Object vuforiaTrackableDefaultListenerArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".getPose"); + return null; + } + + @JavascriptInterface + public String getRelicRecoveryVuMark(Object vuforiaTrackableDefaultListenerArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".getRelicRecoveryVuMark"); + return "UNKNOWN"; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackablesAccess.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackablesAccess.java new file mode 100644 index 000000000000..e06b5044ce77 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/runtime/obsolete/VuforiaTrackablesAccess.java @@ -0,0 +1,52 @@ +package com.google.blocks.ftcrobotcontroller.runtime.obsolete; + +import android.webkit.JavascriptInterface; +import com.google.blocks.ftcrobotcontroller.runtime.Access; +import com.google.blocks.ftcrobotcontroller.runtime.BlockType; +import com.google.blocks.ftcrobotcontroller.runtime.BlocksOpMode; + +/* JADX INFO: loaded from: classes8.dex */ +public class VuforiaTrackablesAccess extends Access { + public VuforiaTrackablesAccess(BlocksOpMode blocksOpMode, String identifier) { + super(blocksOpMode, identifier, "VuforiaTrackables"); + } + + @JavascriptInterface + public int getSize(Object vuforiaTrackablesArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Size"); + return 0; + } + + @JavascriptInterface + public String getName(Object vuforiaTrackablesArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Name"); + return ""; + } + + @JavascriptInterface + public Object getLocalizer(Object vuforiaTrackablesArg) { + handleObsoleteBlockExecution(BlockType.GETTER, ".Localizer"); + return null; + } + + @JavascriptInterface + public Object get(Object vuforiaTrackablesArg, int index) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".get"); + return null; + } + + @JavascriptInterface + public void setName(Object vuforiaTrackablesArg, String name) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".setName"); + } + + @JavascriptInterface + public void activate(Object vuforiaTrackablesArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".activate"); + } + + @JavascriptInterface + public void deactivate(Object vuforiaTrackablesArg) { + handleObsoleteBlockExecution(BlockType.FUNCTION, ".deactivate"); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/AvailableTtsLocalesProvider.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/AvailableTtsLocalesProvider.java new file mode 100644 index 000000000000..da1f6b60c1c5 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/AvailableTtsLocalesProvider.java @@ -0,0 +1,38 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import android.os.Looper; +import com.qualcomm.robotcore.util.RobotLog; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; +import org.firstinspires.ftc.robotcore.external.android.AndroidTextToSpeech; + +/* JADX INFO: loaded from: classes8.dex */ +public class AvailableTtsLocalesProvider { + private static final String TAG = "AvailableTtsLocalesProvider"; + private static final AvailableTtsLocalesProvider instance = new AvailableTtsLocalesProvider(); + private Set availableTtsLocales = null; + + public static AvailableTtsLocalesProvider getInstance() { + return instance; + } + + public synchronized Set getAvailableTtsLocales() { + if (Looper.getMainLooper().getThread() == Thread.currentThread()) { + RobotLog.ee(TAG, "AvailableTtsLocalesProvider used from Android Main Thread. This is not allowed."); + throw new RuntimeException("AvailableTtsLocalesProvider used from Android Main Thread. This is not allowed."); + } + if (this.availableTtsLocales == null) { + this.availableTtsLocales = new HashSet(); + AndroidTextToSpeech textToSpeech = new AndroidTextToSpeech(); + textToSpeech.initialize(); + for (Locale locale : Locale.getAvailableLocales()) { + if (textToSpeech.isLocaleAvailable(locale)) { + this.availableTtsLocales.add(locale); + } + } + textToSpeech.close(); + } + return this.availableTtsLocales; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksArchive.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksArchive.java new file mode 100644 index 000000000000..be669c6eaf56 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksArchive.java @@ -0,0 +1,37 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +/* JADX INFO: loaded from: classes8.dex */ +public class BlocksArchive { + public static InputStream fetchBlocksArchive() throws Throwable { + List projects = new ArrayList<>(); + ProjectsUtil.fetchProjects(projects); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ZipOutputStream zos = new ZipOutputStream(baos); + try { + for (BlocksProject project : projects) { + ZipEntry zipEntry = new ZipEntry(project.fileName); + zipEntry.setTime(project.dateModifiedMillis); + zos.putNextEntry(zipEntry); + zos.write(project.content.getBytes()); + zos.closeEntry(); + } + zos.close(); + return new ByteArrayInputStream(baos.toByteArray()); + } catch (Throwable th) { + try { + zos.close(); + } catch (Throwable th2) { + th.addSuppressed(th2); + } + throw th; + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksProject.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksProject.java new file mode 100644 index 000000000000..e34eb5e8ff88 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/BlocksProject.java @@ -0,0 +1,26 @@ +package com.google.blocks.ftcrobotcontroller.util; + +/* JADX INFO: loaded from: classes8.dex */ +class BlocksProject { + final String content; + final long dateModifiedMillis; + final String fileName; + + BlocksProject(String fileName, String content, long dateModifiedMillis) { + this.fileName = fileName; + this.content = content; + this.dateModifiedMillis = dateModifiedMillis; + } + + public boolean equals(Object o) { + if (!(o instanceof BlocksProject)) { + return false; + } + BlocksProject that = (BlocksProject) o; + return this.fileName.equals(that.fileName) && this.content.equals(that.content) && this.dateModifiedMillis == that.dateModifiedMillis; + } + + public int hashCode() { + return this.fileName.hashCode() + this.content.hashCode(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ClipboardUtil.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ClipboardUtil.java new file mode 100644 index 000000000000..26d7d77677d0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ClipboardUtil.java @@ -0,0 +1,22 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import java.io.File; +import java.io.IOException; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; + +/* JADX INFO: loaded from: classes8.dex */ +public class ClipboardUtil { + private static final File CLIPBOARD_FILE = new File(AppUtil.BLOCK_OPMODES_DIR, "clipboard.xml"); + + private ClipboardUtil() { + } + + public static void saveClipboardContent(String clipboardContent) throws IOException { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR); + FileUtil.writeFile(CLIPBOARD_FILE, clipboardContent); + } + + public static String fetchClipboardContent() throws IOException { + return FileUtil.readFile(CLIPBOARD_FILE); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CorruptFileException.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CorruptFileException.java new file mode 100644 index 000000000000..844f38ccae0e --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CorruptFileException.java @@ -0,0 +1,14 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import java.io.IOException; + +/* JADX INFO: loaded from: classes8.dex */ +public class CorruptFileException extends IOException { + protected CorruptFileException(String message) { + super(message); + } + + protected CorruptFileException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CurrentGame.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CurrentGame.java new file mode 100644 index 000000000000..213d1491230b --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/CurrentGame.java @@ -0,0 +1,10 @@ +package com.google.blocks.ftcrobotcontroller.util; + +/* JADX INFO: loaded from: classes8.dex */ +public class CurrentGame { + public static final String CURRENT_GAME_NAME = "INTO THE DEEP"; + public static final String CURRENT_GAME_NAME_NO_SPACES = "INTOTHEDEEP"; + + private CurrentGame() { + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileManager.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileManager.java new file mode 100644 index 000000000000..1c8633e48a62 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileManager.java @@ -0,0 +1,121 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import android.text.Html; +import android.util.Base64; +import com.sun.tools.doclint.DocLint; +import java.io.File; +import java.io.IOException; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; + +/* JADX INFO: loaded from: classes8.dex */ +public enum FileManager { + SOUNDS(AppUtil.BLOCKS_SOUNDS_DIR); + + private final String VALID_NAME_REGEX = ProjectsUtil.VALID_PROJECT_REGEX; + private final File dir; + + FileManager(File dir) { + this.dir = dir; + } + + public String fetchJavaScript() throws IOException { + return "\nfunction isValidName(name) {\n if (name) {\n return /" + ProjectsUtil.VALID_PROJECT_REGEX + "/.test(name);\n }\n return false;\n}\n\n"; + } + + public String fetchFiles() throws IOException { + File[] files = this.dir.listFiles(); + if (files != null) { + StringBuilder json = new StringBuilder(); + json.append("["); + String delimiter = ""; + for (int i = 0; i < files.length; i++) { + String name = files[i].getName(); + json.append(delimiter).append("{").append("\"name\":\"").append(ProjectsUtil.escapeDoubleQuotes(name)).append("\", ").append("\"escapedName\":\"").append(ProjectsUtil.escapeDoubleQuotes(Html.escapeHtml(name))).append("\", ").append("\"dateModifiedMillis\":").append(files[i].lastModified()).append("}"); + delimiter = DocLint.TAGS_SEPARATOR; + } + json.append("]"); + return json.toString(); + } + return "[]"; + } + + public boolean isValidName(String name) { + if (name != null) { + return name.matches(ProjectsUtil.VALID_PROJECT_REGEX); + } + return false; + } + + public String fetchFileContent(String name) throws IOException { + if (!isValidName(name)) { + throw new IllegalArgumentException(); + } + byte[] content = FileUtil.readBinaryFile(new File(this.dir, name)); + return Base64.encodeToString(content, 0); + } + + public void saveFile(String name, String base64Content) throws IOException { + if (!isValidName(name)) { + throw new IllegalArgumentException(); + } + if (!this.dir.exists()) { + this.dir.mkdirs(); + } + byte[] content = Base64.decode(base64Content, 0); + File file = new File(this.dir, name); + File tempBackupFile = null; + if (file.exists()) { + long timestamp = System.currentTimeMillis(); + tempBackupFile = new File(this.dir, "backup_" + timestamp + "_" + name); + FileUtil.copyFile(file, tempBackupFile); + } + FileUtil.writeBinaryFile(file, content); + if (tempBackupFile != null) { + tempBackupFile.delete(); + } + } + + public void renameFile(String oldName, String newName) throws IOException { + if (!isValidName(oldName) || !isValidName(newName)) { + throw new IllegalArgumentException(); + } + if (!this.dir.exists()) { + this.dir.mkdirs(); + } + File oldFile = new File(this.dir, oldName); + File newFile = new File(this.dir, newName); + oldFile.renameTo(newFile); + } + + public void copyFile(String oldName, String newName) throws IOException { + if (!isValidName(oldName) || !isValidName(newName)) { + throw new IllegalArgumentException(); + } + if (!this.dir.exists()) { + this.dir.mkdirs(); + } + File oldFile = new File(this.dir, oldName); + File newFile = new File(this.dir, newName); + FileUtil.copyFile(oldFile, newFile); + } + + public boolean deleteFiles(String[] names) { + for (String name : names) { + if (!isValidName(name)) { + throw new IllegalArgumentException(); + } + } + boolean success = true; + for (String name2 : names) { + File file = new File(this.dir, name2); + if (file.exists() && !file.delete()) { + success = false; + } + } + return success; + } + + public String getPathForFile(String name) { + return new File(this.dir, name).getAbsolutePath(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileUtil.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileUtil.java new file mode 100644 index 000000000000..01839aaf9109 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/FileUtil.java @@ -0,0 +1,109 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import android.content.res.AssetManager; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.channels.FileChannel; + +/* JADX INFO: loaded from: classes8.dex */ +public class FileUtil { + private FileUtil() { + } + + public static void writeFile(File file, String content) throws IOException { + BufferedWriter writer = new BufferedWriter(new FileWriter(file)); + try { + writer.write(content); + } finally { + writer.close(); + } + } + + public static void writeBinaryFile(File file, byte[] content) throws IOException { + BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file)); + try { + outputStream.write(content, 0, content.length); + } finally { + outputStream.close(); + } + } + + public static String readFile(File file) throws IOException { + StringBuilder sb = new StringBuilder(); + BufferedReader reader = new BufferedReader(new FileReader(file)); + while (true) { + try { + String line = reader.readLine(); + if (line != null) { + sb.append(line).append("\n"); + } else { + reader.close(); + return sb.toString(); + } + } catch (Throwable th) { + reader.close(); + throw th; + } + } + } + + public static byte[] readBinaryFile(File file) throws IOException { + byte[] content = new byte[(int) file.length()]; + new StringBuilder(); + BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file)); + try { + inputStream.read(content, 0, content.length); + return content; + } finally { + inputStream.close(); + } + } + + public static void copyFile(File source, File dest) throws IOException { + FileChannel sourceChannel = null; + FileChannel destChannel = null; + try { + sourceChannel = new FileInputStream(source).getChannel(); + destChannel = new FileOutputStream(dest).getChannel(); + destChannel.transferFrom(sourceChannel, 0L, sourceChannel.size()); + } finally { + if (sourceChannel != null) { + sourceChannel.close(); + } + if (destChannel != null) { + destChannel.close(); + } + } + } + + public static void readAsset(StringBuilder sb, AssetManager assetManager, String assetName) throws IOException { + BufferedReader reader = new BufferedReader(new InputStreamReader(assetManager.open(assetName))); + while (true) { + try { + String line = reader.readLine(); + if (line != null) { + sb.append(line).append("\n"); + } else { + reader.close(); + return; + } + } catch (Throwable th) { + try { + reader.close(); + } catch (Throwable th2) { + th.addSuppressed(th2); + } + throw th; + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/Identifier.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/Identifier.java new file mode 100644 index 000000000000..1fa10c9ae396 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/Identifier.java @@ -0,0 +1,88 @@ +package com.google.blocks.ftcrobotcontroller.util; + +/* JADX INFO: loaded from: classes8.dex */ +public enum Identifier { + ACCELERATION("accelerationAccess", "accelerationIdentifierForJavaScript"), + ANDROID_ACCELEROMETER("androidAccelerometerAccess", "androidAccelerometerIdentifierForJavaScript", "androidAccelerometer", "androidAccelerometerIdentifierForFtcJava"), + ANDROID_GYROSCOPE("androidGyroscopeAccess", "androidGyroscopeIdentifierForJavaScript", "androidGyroscope", "androidGyroscopeIdentifierForFtcJava"), + ANDROID_ORIENTATION("androidOrientationAccess", "androidOrientationIdentifierForJavaScript", "androidOrientation", "androidOrientationIdentifierForFtcJava"), + ANDROID_SOUND_POOL("androidSoundPoolAccess", "androidSoundPoolIdentifierForJavaScript", "androidSoundPool", "androidSoundPoolIdentifierForFtcJava"), + ANDROID_TEXT_TO_SPEECH("androidTextToSpeechAccess", "androidTextToSpeechIdentifierForJavaScript", "androidTextToSpeech", "androidTextToSpeechIdentifierForFtcJava"), + ANDYMARK_IMU_ORIENTATION_ON_ROBOT("andyMarkImuOrientationOnRobotAccess", "andyMarkImuOrientationOnRobotIdentifierForJavaScript"), + ANGULAR_VELOCITY("angularVelocityAccess", "angularVelocityIdentifierForJavaScript"), + APRIL_TAG("aprilTagAccess", "aprilTagIdentifierForJavaScript"), + BLACKBOARD("blackboard", "blackboardIdentifierForJavaScript"), + BLINKIN_PATTERN("blinkinPatternAccess", "blinkinPatternIdentifierForJavaScript"), + BLOCKS_OP_MODE("blocksOpMode", null), + BNO055IMU_PARAMETERS("bno055imuParametersAccess", "bno055imuParametersIdentifierForJavaScript"), + COLOR("colorAccess", "colorIdentifierForJavaScript"), + COLOR_BLOB_LOCATOR("colorBlobLocatorAccess", "colorBlobLocatorIdentifierForJavaScript"), + DBG_LOG("dbgLogAccess", "dbgLogIdentifierForJavaScript"), + ELAPSED_TIME("elapsedTimeAccess", "elapsedTimeIdentifierForJavaScript"), + EXPOSURE_CONTROL("exposureControlAccess", "exposureControlIdentifierForJavaScript"), + FOCUS_CONTROL("focusControlAccess", "focusControlIdentifierForJavaScript"), + GAIN_CONTROL("gainControlAccess", "gainControlIdentifierForJavaScript"), + GAMEPAD_1("gamepad1", null, "gamepad1", null), + GAMEPAD_2("gamepad2", null, "gamepad2", null), + IMU_PARAMETERS("imuParametersAccess", "imuParametersIdentifierForJavaScript"), + LED_EFFECT("ledEffectAccess", "ledEffectIdentifierForJavaScript"), + LL_RESULT("llResultAccess", "llResultIdentifierForJavaScript"), + LL_STATUS("llStatusAccess", "llStatusIdentifierForJavaScript"), + LINEAR_OP_MODE("linearOpMode", "linearOpModeIdentifierForJavaScript"), + MAGNETIC_FLUX("magneticFluxAccess", "magneticFluxIdentifierForJavaScript"), + MATRIX_F("matrixFAccess", "matrixFIdentifierForJavaScript"), + MISC("miscAccess", "miscIdentifierForJavaScript"), + NAVIGATION("navigationAccess", "navigationIdentifierForJavaScript"), + OPENCV("opencvAccess", "opencvIdentifierForJavaScript"), + OPEN_GL_MATRIX("openGLMatrixAccess", "openGLMatrixIdentifierForJavaScript"), + ORIENTATION("orientationAccess", "orientationIdentifierForJavaScript"), + PIDF_COEFFICIENTS("pidfCoefficientsAccess", "pidfCoefficientsIdentifierForJavaScript"), + POSE2D("pose2DAccess", "pose2DIdentifierForJavaScript"), + POSITION("positionAccess", "positionIdentifierForJavaScript"), + PREDOMINANT_COLOR("predominantColorAccess", "predominantColorIdentifierForJavaScript"), + PTZ_CONTROL("ptzControlAccess", "ptzControlIdentifierForJavaScript"), + QUATERNION("quaternionAccess", "quaternionIdentifierForJavaScript"), + RANGE("rangeAccess", "rangeIdentifierForJavaScript"), + REV_HUB_ORIENTATION_ON_ROBOT("revHubOrientationOnRobotAccess", "revHubOrientationOnRobotIdentifierForJavaScript"), + REV_9AXIS_IMU_ORIENTATION_ON_ROBOT("rev9AxisImuOrientationOnRobotAccess", "rev9AxisImuOrientationOnRobotIdentifierForJavaScript"), + RUMBLE_EFFECT("rumbleEffectAccess", "rumbleEffectIdentifierForJavaScript"), + SYSTEM("systemAccess", "systemIdentifierForJavaScript"), + TELEMETRY("telemetry", "telemetryIdentifierForJavaScript"), + TEMPERATURE("temperatureAccess", "temperatureIdentifierForJavaScript"), + VECTOR_F("vectorFAccess", "vectorFIdentifierForJavaScript"), + VELOCITY("velocityAccess", "velocityIdentifierForJavaScript"), + VISION_PORTAL("visionPortalAccess", "visionPortalIdentifierForJavaScript"), + WHITE_BALANCE_CONTROL("whiteBalanceControlAccess", "whiteBalanceControlIdentifierForJavaScript"), + YAW_PITCH_ROLL_ANGLES("yawPitchRollAnglesAccess", "yawPitchRollAnglesIdentifierForJavaScript"), + OBSOLETE_TENSOR_FLOW("tensorFlowAccess", "tensorFlowIdentifierForJavaScript"), + OBSOLETE_TFOD("tfodAccess", "tfodIdentifierForJavaScript", "tfod", "tfodIdentifierForFtcJava"), + OBSOLETE_TFOD_CUSTOM_MODEL("tfodCustomModelAccess", "tfodCustomModelIdentifierForJavaScript", "tfodCustomModel", "tfodCustomModelIdentifierForFtcJava"), + OBSOLETE_TFOD_CURRENT_GAME("tfodCurrentGameAccess", "tfodCurrentGameIdentifierForJavaScript", "tfodPOWERPLAY", "tfodCurrentGameIdentifierForFtcJava"), + OBSOLETE_TFOD_ROVER_RUCKUS("tfodRoverRuckusAccess", "tfodRoverRuckusIdentifierForJavaScript", "tfodRoverRuckus", "tfodRoverRuckusIdentifierForFtcJava"), + OBSOLETE_TFOD_SKY_STONE("tfodSkyStoneAccess", "tfodSkyStoneIdentifierForJavaScript", "tfodSkyStone", "tfodSkyStoneIdentifierForFtcJava"), + OBSOLETE_VUFORIA_CURRENT_GAME("vuforiaCurrentGameAccess", "vuforiaCurrentGameIdentifierForJavaScript", "vuforiaPOWERPLAY", "vuforiaCurrentGameIdentifierForFtcJava"), + OBSOLETE_VUFORIA_RELIC_RECOVERY("vuforiaAccess", "vuforiaIdentifierForJavaScript", "vuforiaRelicRecovery", "vuforiaRelicRecoveryIdentifierForFtcJava"), + OBSOLETE_VUFORIA_ROVER_RUCKUS("vuforiaRoverRuckusAccess", "vuforiaRoverRuckusIdentifierForJavaScript", "vuforiaRoverRuckus", "vuforiaRoverRuckusIdentifierForFtcJava"), + OBSOLETE_VUFORIA_SKY_STONE("vuforiaSkyStoneAccess", "vuforiaSkyStoneIdentifierForJavaScript", "vuforiaSkyStone", "vuforiaSkyStoneIdentifierForFtcJava"), + OBSOLETE_VUFORIA_LOCALIZER("vuforiaLocalizerAccess", "vuforiaLocalizerIdentifierForJavaScript"), + OBSOLETE_VUFORIA_LOCALIZER_PARAMETERS("vuforiaLocalizerParametersAccess", "vuforiaLocalizerParametersIdentifierForJavaScript"), + OBSOLETE_VUFORIA_TRACKABLE("vuforiaTrackableAccess", "vuforiaTrackableIdentifierForJavaScript"), + OBSOLETE_VUFORIA_TRACKABLE_DEFAULT_LISTENER("vuforiaTrackableDefaultListenerAccess", "vuforiaTrackableDefaultListenerIdentifierForJavaScript"), + OBSOLETE_VUFORIA_TRACKABLES("vuforiaTrackablesAccess", "vuforiaTrackablesIdentifierForJavaScript"); + + public final String identifierForFtcJava; + public final String identifierForJavaScript; + public final String variableForFtcJava; + public final String variableForJavaScript; + + Identifier(String identifierForJavaScript, String variableForJavaScript) { + this(identifierForJavaScript, variableForJavaScript, null, null); + } + + Identifier(String identifierForJavaScript, String variableForJavaScript, String identifierForFtcJava, String variableForFtcJava) { + this.identifierForJavaScript = identifierForJavaScript; + this.variableForJavaScript = variableForJavaScript; + this.identifierForFtcJava = identifierForFtcJava; + this.variableForFtcJava = variableForFtcJava; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksProject.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksProject.java new file mode 100644 index 000000000000..77682f694a23 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksProject.java @@ -0,0 +1,27 @@ +package com.google.blocks.ftcrobotcontroller.util; + +/* JADX INFO: loaded from: classes8.dex */ +class OfflineBlocksProject extends BlocksProject { + final boolean enabled; + final String name; + + OfflineBlocksProject(String fileName, String content, String name, long dateModifiedMillis, boolean enabled) { + super(fileName, content.replace("\n", " ").replaceAll("\\> +\\<", "><"), dateModifiedMillis); + this.name = name; + this.enabled = enabled; + } + + @Override // com.google.blocks.ftcrobotcontroller.util.BlocksProject + public boolean equals(Object o) { + if (!(o instanceof OfflineBlocksProject)) { + return false; + } + OfflineBlocksProject that = (OfflineBlocksProject) o; + return this.fileName.equals(that.fileName) && this.content.equals(that.content) && this.name.equals(that.name) && this.dateModifiedMillis == that.dateModifiedMillis && this.enabled == that.enabled; + } + + @Override // com.google.blocks.ftcrobotcontroller.util.BlocksProject + public int hashCode() { + return this.fileName.hashCode() + this.content.hashCode() + this.name.hashCode(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksUtil.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksUtil.java new file mode 100644 index 000000000000..73c68a326b00 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/OfflineBlocksUtil.java @@ -0,0 +1,336 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import android.content.res.AssetManager; +import android.graphics.Color; +import android.text.Html; +import androidx.core.view.ViewCompat; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItemMap; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareUtil; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; +import org.firstinspires.ftc.robotserver.internal.webserver.AppThemeColors; + +/* JADX INFO: loaded from: classes8.dex */ +public class OfflineBlocksUtil { + public static InputStream fetchOfflineBlocksEditor() throws IOException { + String configName = HardwareUtil.getConfigurationName(); + HardwareItemMap hardwareItemMap = HardwareItemMap.newHardwareItemMap(); + AssetManager assetManager = AppUtil.getDefContext().getAssets(); + Set assetsToInclude = new HashSet<>(); + assetsToInclude.add("js/split.min.js"); + assetsToInclude.add("js/split.min.js.map"); + assetsToInclude.add("blocks/images.css"); + for (String blocksImagesFile : assetManager.list("blocks/images")) { + assetsToInclude.add("blocks/images/" + blocksImagesFile); + } + assetsToInclude.add("css/blocks_offline.css"); + assetsToInclude.add("css/blocks_common.css"); + assetsToInclude.add("blockly/blockly_compressed.js"); + for (String blocklyMediaFile : assetManager.list("blockly/media")) { + assetsToInclude.add("blockly/media/" + blocklyMediaFile); + } + assetsToInclude.add("blockly/msg/messages.js"); + assetsToInclude.add("blockly/blocks_compressed.js"); + assetsToInclude.add("blockly/javascript_compressed.js"); + assetsToInclude.add("ftcblockly/generators/javascript.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/lists.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/logic.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/loops.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/math.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/procedures.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/text.js"); + assetsToInclude.add("ftcblockly/generators/ftcjava/variables.js"); + assetsToInclude.add("blocks/FtcBlocks_common.js"); + assetsToInclude.add("blocks/FtcBlocksProjects_common.js"); + assetsToInclude.add("blocks/acceleration.js"); + assetsToInclude.add("blocks/acceleration_sensor.js"); + assetsToInclude.add("blocks/analog_input.js"); + assetsToInclude.add("blocks/analog_output.js"); + assetsToInclude.add("blocks/android_accelerometer.js"); + assetsToInclude.add("blocks/android_gyroscope.js"); + assetsToInclude.add("blocks/android_orientation.js"); + assetsToInclude.add("blocks/android_sound_pool.js"); + assetsToInclude.add("blocks/android_text_to_speech.js"); + assetsToInclude.add("blocks/andymark_imu_orientation_on_robot.js"); + assetsToInclude.add("blocks/andy_mark_color_sensor.js"); + assetsToInclude.add("blocks/angular_velocity.js"); + assetsToInclude.add("blocks/april_tag.js"); + assetsToInclude.add("blocks/blackboard.js"); + assetsToInclude.add("blocks/bno055imu.js"); + assetsToInclude.add("blocks/bno055imu_parameters.js"); + assetsToInclude.add("blocks/clipboard_util.js"); + assetsToInclude.add("blocks/color.js"); + assetsToInclude.add("blocks/color_blob_locator.js"); + assetsToInclude.add("blocks/color_range_sensor.js"); + assetsToInclude.add("blocks/color_sensor.js"); + assetsToInclude.add("blocks/compass_sensor.js"); + assetsToInclude.add("blocks/cr_servo.js"); + assetsToInclude.add("blocks/dbg_log.js"); + assetsToInclude.add("blocks/dc_motor.js"); + assetsToInclude.add("blocks/digital_channel.js"); + assetsToInclude.add("blocks/distance_sensor.js"); + assetsToInclude.add("blocks/elapsed_time2.js"); + assetsToInclude.add("blocks/exposure_control.js"); + assetsToInclude.add("blocks/focus_control.js"); + assetsToInclude.add("blocks/gain_control.js"); + assetsToInclude.add("blocks/gamepad.js"); + assetsToInclude.add("blocks/gobilda_pinpoint.js"); + assetsToInclude.add("blocks/gyro_sensor.js"); + assetsToInclude.add("blocks/hardware_util.js"); + assetsToInclude.add("blocks/husky_lens.js"); + assetsToInclude.add("blocks/imu.js"); + assetsToInclude.add("blocks/imu_parameters.js"); + assetsToInclude.add("blocks/ir_seeker_sensor.js"); + assetsToInclude.add("blocks/led.js"); + assetsToInclude.add("blocks/led_effect.js"); + assetsToInclude.add("blocks/light_sensor.js"); + assetsToInclude.add("blocks/limelight_3a.js"); + assetsToInclude.add("blocks/linear_op_mode.js"); + assetsToInclude.add("blocks/locale.js"); + assetsToInclude.add("blocks/magnetic_flux.js"); + assetsToInclude.add("blocks/matrix_f.js"); + assetsToInclude.add("blocks/max_sonar_i2cxl.js"); + assetsToInclude.add("blocks/misc.js"); + assetsToInclude.add("blocks/mr_i2c_compass_sensor.js"); + assetsToInclude.add("blocks/mr_i2c_range_sensor.js"); + assetsToInclude.add("blocks/navigation.js"); + assetsToInclude.add("blocks/octoquad.js"); + assetsToInclude.add("blocks/open_gl_matrix.js"); + assetsToInclude.add("blocks/opencv.js"); + assetsToInclude.add("blocks/optical_distance_sensor.js"); + assetsToInclude.add("blocks/orientation.js"); + assetsToInclude.add("blocks/pidf_coefficients.js"); + assetsToInclude.add("blocks/pose2d.js"); + assetsToInclude.add("blocks/position.js"); + assetsToInclude.add("blocks/predominant_color.js"); + assetsToInclude.add("blocks/project_util.js"); + assetsToInclude.add("blocks/ptz_control.js"); + assetsToInclude.add("blocks/quaternion.js"); + assetsToInclude.add("blocks/range.js"); + assetsToInclude.add("blocks/rev_blinkin_led_driver.js"); + assetsToInclude.add("blocks/rev_hub_orientation_on_robot.js"); + assetsToInclude.add("blocks/rumble_effect.js"); + assetsToInclude.add("blocks/servo.js"); + assetsToInclude.add("blocks/servo_controller.js"); + assetsToInclude.add("blocks/sort_order.js"); + assetsToInclude.add("blocks/sparkfun_led_stick.js"); + assetsToInclude.add("blocks/sparkfun_otos.js"); + assetsToInclude.add("blocks/system.js"); + assetsToInclude.add("blocks/telemetry.js"); + assetsToInclude.add("blocks/temperature.js"); + assetsToInclude.add("blocks/toolbox_util.js"); + assetsToInclude.add("blocks/touch_sensor.js"); + assetsToInclude.add("blocks/ultrasonic_sensor.js"); + assetsToInclude.add("blocks/vars.js"); + assetsToInclude.add("blocks/vector_f.js"); + assetsToInclude.add("blocks/velocity.js"); + assetsToInclude.add("blocks/vision_portal.js"); + assetsToInclude.add("blocks/voltage_sensor.js"); + assetsToInclude.add("blocks/white_balance_control.js"); + assetsToInclude.add("blocks/yaw_pitch_roll_angles.js"); + assetsToInclude.add("FtcOfflineBlocksProjects.html"); + assetsToInclude.add("FtcOfflineBlocks.html"); + assetsToInclude.add("favicon.ico"); + assetsToInclude.add("blocks/obsolete/elapsed_time.js"); + assetsToInclude.add("blocks/obsolete/obsolete.js"); + assetsToInclude.add("blocks/obsolete/tensor_flow.js"); + assetsToInclude.add("blocks/obsolete/tfod.js"); + assetsToInclude.add("blocks/obsolete/tfod_base.js"); + assetsToInclude.add("blocks/obsolete/tfod_current_game.js"); + assetsToInclude.add("blocks/obsolete/tfod_custom_model.js"); + assetsToInclude.add("blocks/obsolete/tfod_recognition.js"); + assetsToInclude.add("blocks/obsolete/tfod_rover_ruckus.js"); + assetsToInclude.add("blocks/obsolete/tfod_sky_stone.js"); + assetsToInclude.add("blocks/obsolete/vuforia.js"); + assetsToInclude.add("blocks/obsolete/vuforia_current_game.js"); + assetsToInclude.add("blocks/obsolete/vuforia_localizer.js"); + assetsToInclude.add("blocks/obsolete/vuforia_localizer_parameters.js"); + assetsToInclude.add("blocks/obsolete/vuforia_relic_recovery.js"); + assetsToInclude.add("blocks/obsolete/vuforia_rover_ruckus.js"); + assetsToInclude.add("blocks/obsolete/vuforia_sky_stone.js"); + assetsToInclude.add("blocks/obsolete/vuforia_trackable.js"); + assetsToInclude.add("blocks/obsolete/vuforia_trackable_default_listener.js"); + assetsToInclude.add("blocks/obsolete/vuforia_trackables.js"); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ZipOutputStream zos = new ZipOutputStream(baos); + try { + zos.putNextEntry(new ZipEntry("index.html")); + copyAsset(assetManager, "FtcOfflineFrame.html", zos); + zos.closeEntry(); + zos.putNextEntry(new ZipEntry("css/blocks_common_less.css")); + zos.write(convertLessToCss(assetManager, "css/blocks_common.less").getBytes()); + zos.closeEntry(); + zos.putNextEntry(new ZipEntry("css/frame_offline_less.css")); + zos.write(convertLessToCss(assetManager, "css/frame_offline.less").getBytes()); + zos.closeEntry(); + zos.putNextEntry(new ZipEntry("js/FtcOfflineBlocks.js")); + zos.write(getFtcOfflineBlocksJs(configName, hardwareItemMap).getBytes()); + zos.closeEntry(); + for (String assetPath : assetsToInclude) { + zos.putNextEntry(new ZipEntry(assetPath)); + copyAsset(assetManager, assetPath, zos); + zos.closeEntry(); + } + zos.close(); + return new ByteArrayInputStream(baos.toByteArray()); + } catch (Throwable th) { + try { + zos.close(); + } catch (Throwable th2) { + th.addSuppressed(th2); + } + throw th; + } + } + + private static void copyAsset(AssetManager assetManager, String assetPath, OutputStream outputStream) throws IOException { + InputStream inputStream = assetManager.open(assetPath); + try { + byte[] buffer = new byte[4096]; + while (true) { + int n = inputStream.read(buffer); + if (n <= 0) { + break; + } else { + outputStream.write(buffer, 0, n); + } + } + if (inputStream != null) { + inputStream.close(); + } + } catch (Throwable th) { + if (inputStream != null) { + try { + inputStream.close(); + } catch (Throwable th2) { + th.addSuppressed(th2); + } + } + throw th; + } + } + + private static String convertLessToCss(AssetManager assetManager, String assetPath) throws IOException { + AppThemeColors colors = AppThemeColors.fromTheme(); + StringBuilder cssStringBuilder = new StringBuilder(); + FileUtil.readAsset(cssStringBuilder, assetManager, assetPath); + float[] hsvTextBright = new float[3]; + Color.colorToHSV(colors.textBright, hsvTextBright); + return cssStringBuilder.toString().replace("@import \"/css/core.less\";", "").replace("hue(@textBright)", String.format("%d", Integer.valueOf(Math.round(hsvTextBright[0])))).replace("saturation(@textBright)", String.format("%d%%", Integer.valueOf(Math.round(hsvTextBright[1] * 100.0f)))).replace("darken(@backgroundMedium, 5%)", String.format("#%06x", Integer.valueOf(darken(colors.backgroundMedium, 0.05f) & ViewCompat.MEASURED_SIZE_MASK))).replace("@textError", String.format("#%06x", Integer.valueOf(colors.textError & ViewCompat.MEASURED_SIZE_MASK))).replace("@textWarning", String.format("#%06x", Integer.valueOf(colors.textWarning & ViewCompat.MEASURED_SIZE_MASK))).replace("@textOkay", String.format("#%06x", Integer.valueOf(colors.textOkay & ViewCompat.MEASURED_SIZE_MASK))).replace("@textBright", String.format("#%06x", Integer.valueOf(colors.textBright & ViewCompat.MEASURED_SIZE_MASK))).replace("@textLight", String.format("#%06x", Integer.valueOf(colors.textLight & ViewCompat.MEASURED_SIZE_MASK))).replace("@textMediumDark", String.format("#%06x", Integer.valueOf(colors.textMediumDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@textMedium", String.format("#%06x", Integer.valueOf(colors.textMedium & ViewCompat.MEASURED_SIZE_MASK))).replace("@textVeryDark", String.format("#%06x", Integer.valueOf(colors.textVeryDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@textVeryVeryDark", String.format("#%06x", Integer.valueOf(colors.textVeryVeryDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundLight", String.format("#%06x", Integer.valueOf(colors.backgroundLight & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundMediumLight", String.format("#%06x", Integer.valueOf(colors.backgroundMediumLight & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundMediumMedium", String.format("#%06x", Integer.valueOf(colors.backgroundMediumMedium & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundMediumDark", String.format("#%06x", Integer.valueOf(colors.backgroundMediumDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundMedium", String.format("#%06x", Integer.valueOf(colors.backgroundMedium & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundAlmostDark", String.format("#%06x", Integer.valueOf(colors.backgroundAlmostDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundDark", String.format("#%06x", Integer.valueOf(colors.backgroundDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundVeryDark", String.format("#%06x", Integer.valueOf(colors.backgroundVeryDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@backgroundVeryVeryDark", String.format("#%06x", Integer.valueOf(colors.backgroundVeryVeryDark & ViewCompat.MEASURED_SIZE_MASK))).replace("@lineBright", String.format("#%06x", Integer.valueOf(colors.lineBright & ViewCompat.MEASURED_SIZE_MASK))).replace("@lineLight", String.format("#%06x", Integer.valueOf(colors.lineLight & ViewCompat.MEASURED_SIZE_MASK))).replace("@feedbackBackground", String.format("#%06x", Integer.valueOf(colors.feedbackBackground & ViewCompat.MEASURED_SIZE_MASK))).replace("@feedbackBorder", String.format("#%06x", Integer.valueOf(colors.feedbackBorder & ViewCompat.MEASURED_SIZE_MASK))); + } + + private static int darken(int color, float amount) { + float[] hsl = new float[3]; + colorToHSL(color, hsl); + hsl[2] = hsl[2] - amount; + return hslToColor(hsl); + } + + private static void colorToHSL(int color, float[] hsl) { + float f; + int r255 = Color.red(color); + int g255 = Color.green(color); + int b255 = Color.blue(color); + int max255 = Math.max(Math.max(r255, g255), b255); + int min255 = Math.min(Math.min(r255, g255), b255); + float max = max255 / 255.0f; + float min = min255 / 255.0f; + hsl[2] = (max + min) / 2.0f; + if (max255 != min255) { + if (hsl[2] > 0.5d) { + f = (max - min) / ((2.0f - max) - min); + } else { + f = (max - min) / (max + min); + } + hsl[1] = f; + hsl[0] = hue(r255, g255, b255); + return; + } + hsl[1] = 0.0f; + hsl[0] = 0.0f; + } + + private static int hslToColor(float[] hsl) { + float b; + float q; + float p; + if (hsl[1] == 0.0f) { + q = hsl[2]; + b = q; + p = q; + } else { + float b2 = hsl[2]; + float q2 = b2 < 0.5f ? hsl[2] * (hsl[1] + 1.0f) : (hsl[2] + hsl[1]) - (hsl[2] * hsl[1]); + float p2 = (hsl[2] * 2.0f) - q2; + float r = hue2rgb(p2, q2, hsl[0] + 0.33333334f); + float g = hue2rgb(p2, q2, hsl[0]); + b = hue2rgb(p2, q2, hsl[0] - 0.33333334f); + q = r; + p = g; + } + int r255 = Math.round(q * 255.0f); + int g255 = Math.round(p * 255.0f); + int b255 = Math.round(255.0f * b); + return Color.rgb(r255, g255, b255); + } + + private static float hue2rgb(float p, float q, float t) { + if (t < 0.0f) { + t += 1.0f; + } + if (t > 1.0f) { + t -= 1.0f; + } + if (t < 0.16666667f) { + return ((q - p) * 6.0f * t) + p; + } + if (t < 0.5f) { + return q; + } + if (t < 0.6666667f) { + return ((q - p) * (0.6666667f - t) * 6.0f) + p; + } + return p; + } + + private static float hue(int r255, int g255, int b255) { + float[] hsv = new float[3]; + Color.RGBToHSV(r255, g255, b255, hsv); + return hsv[0] / 360.0f; + } + + private static String getFtcOfflineBlocksJs(String configName, HardwareItemMap hardwareItemMap) throws Throwable { + StringBuilder jsStringBuilder = new StringBuilder(); + jsStringBuilder.append("function getBlkFiles() {\n").append(" var BLK_FILES = [\n"); + List offlineBlocksProjects = new ArrayList<>(); + ProjectsUtil.fetchProjectsForOfflineBlocksEditor(offlineBlocksProjects); + String delimiter = ""; + for (OfflineBlocksProject offlineBlocksProject : offlineBlocksProjects) { + jsStringBuilder.append(delimiter).append(" {\n").append(" 'FileName': '").append(ProjectsUtil.escapeSingleQuotes(offlineBlocksProject.fileName)).append("',\n").append(" 'Content': '").append(ProjectsUtil.escapeSingleQuotes(offlineBlocksProject.content)).append("',\n").append(" 'name': '").append(ProjectsUtil.escapeSingleQuotes(offlineBlocksProject.name)).append("',\n").append(" 'escapedName' : '").append(ProjectsUtil.escapeSingleQuotes(Html.escapeHtml(offlineBlocksProject.name))).append("',\n").append(" 'dateModifiedMillis': ").append(offlineBlocksProject.dateModifiedMillis).append(",\n").append(" 'enabled': ").append(offlineBlocksProject.enabled).append("\n").append(" }"); + delimiter = ",\n"; + } + jsStringBuilder.append("\n").append(" ];\n").append(" return BLK_FILES;\n").append("}\n\n").append("function getOfflineConfigurationName() {\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(configName)).append("';\n").append("}\n\n").append("function getSampleNamesJson() {\n").append(" var SAMPLE_NAMES = '").append(ProjectsUtil.fetchSampleNames()).append("';\n").append(" return SAMPLE_NAMES;\n").append("}\n\n").append("function getSampleBlkFileContent(sampleName) {\n").append(" switch (sampleName) {\n"); + for (Map.Entry entry : ProjectsUtil.getSamples(hardwareItemMap).entrySet()) { + String sampleName = entry.getKey(); + String blkFileContent = entry.getValue().replace("\n", " ").replaceAll("\\> +\\<", "><"); + if (sampleName.isEmpty()) { + jsStringBuilder.append(" default:\n"); + } + jsStringBuilder.append(" case '").append(ProjectsUtil.escapeSingleQuotes(sampleName)).append("':\n").append(" return '").append(ProjectsUtil.escapeSingleQuotes(blkFileContent)).append("';\n"); + } + jsStringBuilder.append(" }\n").append("}\n").append(HardwareUtil.fetchJavaScriptForHardware(hardwareItemMap)); + return jsStringBuilder.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsLockManager.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsLockManager.java new file mode 100644 index 000000000000..c0c0b19db414 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsLockManager.java @@ -0,0 +1,28 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import org.firstinspires.ftc.robotcore.external.Supplier; +import org.firstinspires.ftc.robotcore.external.ThrowingCallable; +import org.firstinspires.ftc.robotcore.internal.system.LockingRunner; + +/* JADX INFO: loaded from: classes8.dex */ +public final class ProjectsLockManager { + private static final LockingRunner PROJECTS_LOCK = new LockingRunner(); + + public static T lockProjectsWhile(Supplier supplier) { + try { + return (T) PROJECTS_LOCK.lockWhile(supplier); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return null; + } + } + + public static T lockProjectsWhile(ThrowingCallable throwingCallable) throws Throwable { + try { + return (T) PROJECTS_LOCK.lockWhile(throwingCallable); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return null; + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsUtil.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsUtil.java new file mode 100644 index 000000000000..726be067f27c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ProjectsUtil.java @@ -0,0 +1,874 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import android.content.res.AssetManager; +import android.text.Html; +import android.util.Xml; +import com.google.blocks.ftcrobotcontroller.IOExceptionWithUserVisibleMessage; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItem; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareItemMap; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareType; +import com.google.blocks.ftcrobotcontroller.hardware.HardwareUtil; +import com.qualcomm.robotcore.util.ReadWriteFile; +import com.qualcomm.robotcore.util.RobotLog; +import com.sun.tools.doclint.DocLint; +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.StringReader; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.firstinspires.ftc.onbotjava.OnBotJavaFileSystemUtils; +import org.firstinspires.ftc.robotcore.external.Supplier; +import org.firstinspires.ftc.robotcore.external.ThrowingCallable; +import org.firstinspires.ftc.robotcore.internal.opmode.OnBotJavaHelper; +import org.firstinspires.ftc.robotcore.internal.opmode.OpModeMeta; +import org.firstinspires.ftc.robotcore.internal.system.AppUtil; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; +import org.xmlpull.v1.XmlSerializer; + +/* JADX INFO: loaded from: classes8.dex */ +public class ProjectsUtil { + private static final String BLOCKS_SAMPLES_PATH = "blocks/samples"; + private static final String DEFAULT_BLOCKS_SAMPLE_NAME = "default"; + public static final String TAG = "ProjectsUtil"; + public static final String VALID_PROJECT_REGEX = "^[a-zA-Z0-9 \\!\\#\\$\\%\\&\\'\\(\\)\\+\\,\\-\\.\\;\\=\\@\\[\\]\\^_\\{\\}\\~]+$"; + private static final String XML_ATTRIBUTE_AUTO_TRANSITION = "autoTransition"; + private static final String XML_ATTRIBUTE_FLAVOR = "flavor"; + private static final String XML_ATTRIBUTE_GROUP = "group"; + private static final String XML_ATTRIBUTE_VALUE = "value"; + public static final String XML_END_TAG = ""; + public static final String XML_EXTRA_START = ""; + private static final String XML_TAG_ENABLED = "Enabled"; + private static final String XML_TAG_EXTRA = "Extra"; + private static final String XML_TAG_OP_MODE_META = "OpModeMeta"; + private static final OpModeMeta.Flavor DEFAULT_FLAVOR = OpModeMeta.Flavor.TELEOP; + private static final Pattern identifierFieldPattern = Pattern.compile("(.*)"); + private static final Pattern deviceNameWithSuffix = Pattern.compile("(.*)(As.*)"); + private static final String[] specialDeviceNames = {"left", "right"}; + + private ProjectsUtil() { + } + + public static String fetchProjectsWithBlocks() { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + ReadWriteFile.ensureAllChangesAreCommitted(AppUtil.BLOCK_OPMODES_DIR); + return (String) ProjectsLockManager.lockProjectsWhile(new Supplier() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.1 + @Override // org.firstinspires.ftc.robotcore.external.Supplier + public String get() { + File[] files = AppUtil.BLOCK_OPMODES_DIR.listFiles(new BlocksProjectFilenameFilter()); + if (files != null) { + StringBuilder jsonProjects = new StringBuilder(); + jsonProjects.append("["); + String delimiter = ""; + for (File file : files) { + String filename = file.getName(); + String projectName = filename.substring(0, filename.length() - AppUtil.BLOCKS_BLK_EXT.length()); + try { + boolean enabled = ProjectsUtil.isProjectEnabled(projectName); + jsonProjects.append(delimiter).append("{").append("\"name\":\"").append(ProjectsUtil.escapeDoubleQuotes(projectName)).append("\", ").append("\"escapedName\":\"").append(ProjectsUtil.escapeDoubleQuotes(Html.escapeHtml(projectName))).append("\", ").append("\"dateModifiedMillis\":").append(file.lastModified()).append(", ").append("\"enabled\":").append(enabled).append("}"); + delimiter = DocLint.TAGS_SEPARATOR; + } catch (CorruptFileException e) { + RobotLog.ee(ProjectsUtil.TAG, "While fetching projects with blocks, " + projectName + " could not be read, skipping"); + } catch (IOException e2) { + RobotLog.ee(ProjectsUtil.TAG, "fetchProjectsWithBlocks() - problem with project " + projectName); + RobotLog.logStackTrace(e2); + } + } + jsonProjects.append("]"); + return jsonProjects.toString(); + } + return "[]"; + } + }); + } + + public static String escapeSingleQuotes(String s) { + return s.replace("'", "\\'"); + } + + public static String escapeDoubleQuotes(String s) { + return s.replace("\"", "\\\""); + } + + /* JADX INFO: Access modifiers changed from: private */ + public static int findExtraXml(String blkFileContent) { + int i = blkFileContent.indexOf(XML_END_TAG); + if (i != -1) { + return XML_END_TAG.length() + i; + } + int i2 = blkFileContent.lastIndexOf(XML_EXTRA_START); + if (i2 == -1) { + return -1; + } + return i2; + } + + public static void fetchProjectsForOfflineBlocksEditor(final List offlineBlocksProjects) throws Throwable { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + ReadWriteFile.ensureAllChangesAreCommitted(AppUtil.BLOCK_OPMODES_DIR); + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.2 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + File[] files; + String projectName; + String blkFileContent; + boolean isProjectEnabled; + File[] files2 = AppUtil.BLOCK_OPMODES_DIR.listFiles(new BlocksProjectFilenameFilter()); + if (files2 != null) { + int length = files2.length; + int i = 0; + int i2 = 0; + while (i2 < length) { + File file = files2[i2]; + String filename = file.getName(); + String projectName2 = filename.substring(i, filename.length() - AppUtil.BLOCKS_BLK_EXT.length()); + try { + blkFileContent = ProjectsUtil.fetchBlkFileContent(projectName2); + int iExtraXml = ProjectsUtil.findExtraXml(blkFileContent); + if (iExtraXml == -1) { + RobotLog.ee(ProjectsUtil.TAG, "Block file, " + projectName2 + ", for offline blocks editor is missing extra xml."); + isProjectEnabled = true; + } else { + try { + String extraXml = blkFileContent.substring(iExtraXml); + boolean isProjectEnabled2 = ProjectsUtil.isProjectEnabled(projectName2, extraXml); + isProjectEnabled = isProjectEnabled2; + } catch (CorruptFileException e) { + files = files2; + projectName = projectName2; + RobotLog.ee(ProjectsUtil.TAG, "Block file, " + projectName + ", for offline blocks editor could not be read, skipping"); + i2++; + files2 = files; + i = 0; + } + } + files = files2; + projectName = projectName2; + } catch (CorruptFileException e2) { + files = files2; + projectName = projectName2; + } + try { + offlineBlocksProjects.add(new OfflineBlocksProject(filename, blkFileContent, projectName2, file.lastModified(), isProjectEnabled)); + } catch (CorruptFileException e3) { + RobotLog.ee(ProjectsUtil.TAG, "Block file, " + projectName + ", for offline blocks editor could not be read, skipping"); + } + i2++; + files2 = files; + i = 0; + } + return null; + } + return null; + } + }); + } + + public static void fetchProjects(final List blocksProjects) throws Throwable { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + ReadWriteFile.ensureAllChangesAreCommitted(AppUtil.BLOCK_OPMODES_DIR); + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.3 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + File[] files = AppUtil.BLOCK_OPMODES_DIR.listFiles(new BlocksProjectFilenameFilter()); + if (files != null) { + for (File file : files) { + String filename = file.getName(); + String projectName = filename.substring(0, filename.length() - AppUtil.BLOCKS_BLK_EXT.length()); + try { + String blkFileContent = ProjectsUtil.fetchBlkFileContent(projectName); + blocksProjects.add(new BlocksProject(filename, blkFileContent, file.lastModified())); + } catch (CorruptFileException e) { + RobotLog.ee(ProjectsUtil.TAG, "While fetching blocks projects, block file " + projectName + " could not be read, skipping"); + } + } + return null; + } + return null; + } + }); + } + + public static String fetchSampleNames() throws IOException { + HardwareItemMap.newHardwareItemMap(); + StringBuilder jsonSamples = new StringBuilder(); + jsonSamples.append("["); + AssetManager assetManager = AppUtil.getDefContext().getAssets(); + List sampleFileNames = Arrays.asList(assetManager.list(BLOCKS_SAMPLES_PATH)); + Collections.sort(sampleFileNames); + if (sampleFileNames != null) { + String delimiter = ""; + for (String filename : sampleFileNames) { + if (filename.endsWith(AppUtil.BLOCKS_BLK_EXT)) { + String sampleName = filename.substring(0, filename.length() - AppUtil.BLOCKS_BLK_EXT.length()); + if (!sampleName.equals(DEFAULT_BLOCKS_SAMPLE_NAME)) { + String blkFileContent = readSample(sampleName); + Set requestedCapabilities = getRequestedCapabilities(sampleName, blkFileContent); + jsonSamples.append(delimiter).append("{").append("\"name\":\"").append(escapeDoubleQuotes(sampleName)).append("\", ").append("\"escapedName\":\"").append(escapeDoubleQuotes(Html.escapeHtml(sampleName))).append("\", ").append("\"requestedCapabilities\":["); + String delimiter2 = ""; + for (HardwareUtil.Capability requestedCapability : requestedCapabilities) { + jsonSamples.append(delimiter2).append("\"").append(requestedCapability).append("\""); + delimiter2 = DocLint.TAGS_SEPARATOR; + } + jsonSamples.append("]").append("}"); + delimiter = DocLint.TAGS_SEPARATOR; + } + } + } + } + jsonSamples.append("]"); + return jsonSamples.toString(); + } + + static Map getSamples(HardwareItemMap hardwareItemMap) throws IOException { + Map map = new TreeMap<>(); + AssetManager assetManager = AppUtil.getDefContext().getAssets(); + List sampleFileNames = Arrays.asList(assetManager.list(BLOCKS_SAMPLES_PATH)); + for (String filename : sampleFileNames) { + if (filename.endsWith(AppUtil.BLOCKS_BLK_EXT)) { + String sampleName = filename.substring(0, filename.length() - AppUtil.BLOCKS_BLK_EXT.length()); + String blkFileContent = readSampleAndReplaceDeviceNames(sampleName, hardwareItemMap); + if (sampleName.equals(DEFAULT_BLOCKS_SAMPLE_NAME)) { + sampleName = ""; + } + map.put(sampleName, blkFileContent); + } + } + return map; + } + + private static Set getRequestedCapabilities(String sampleName, String blkFileContent) { + Set requestedCapabilities = new LinkedHashSet<>(); + if (blkFileContent.contains("navigation_switchableCamera_forAllWebcams")) { + requestedCapabilities.add(HardwareUtil.Capability.SWITCHABLE_CAMERA); + } + if (blkFileContent.contains("navigation_typedEnum_builtinCameraDirection") || blkFileContent.contains("navigation_webcamName")) { + requestedCapabilities.add(HardwareUtil.Capability.VISION); + } + return requestedCapabilities; + } + + public static List fetchEnabledProjectsWithJavaScript() { + return (List) ProjectsLockManager.lockProjectsWhile(new Supplier>() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.4 + @Override // org.firstinspires.ftc.robotcore.external.Supplier + public List get() { + String[] filenames = AppUtil.BLOCK_OPMODES_DIR.list(new FilenameFilter() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.4.1 + @Override // java.io.FilenameFilter + public boolean accept(File dir, String filename) { + if (!filename.endsWith(AppUtil.BLOCKS_JS_EXT)) { + return false; + } + String projectName = filename.substring(0, filename.length() - AppUtil.BLOCKS_JS_EXT.length()); + return ProjectsUtil.isValidProjectName(projectName); + } + }); + List projects = new ArrayList<>(); + if (filenames != null) { + for (String filename : filenames) { + String projectName = filename.substring(0, filename.length() - AppUtil.BLOCKS_JS_EXT.length()); + try { + OpModeMeta opModeMeta = ProjectsUtil.fetchOpModeMeta(projectName); + if (opModeMeta != null) { + projects.add(opModeMeta); + } + } catch (Exception e) { + RobotLog.ee(ProjectsUtil.TAG, "While fetching enabled projects with js, block file, " + projectName + ", could not be read, skipping"); + } + } + } + return projects; + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public static OpModeMeta fetchOpModeMeta(String projectName) { + String extraXml; + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + try { + ensureChangesAreCommitted(projectName); + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + String blkFileContent = FileUtil.readFile(blkFile); + int iExtraXml = findExtraXml(blkFileContent); + if (iExtraXml != -1) { + extraXml = blkFileContent.substring(iExtraXml); + if (!isProjectEnabled(projectName, extraXml)) { + return null; + } + } else { + RobotLog.ee(TAG, "Block file, " + projectName + ", is missing extra xml."); + extraXml = ""; + } + return createOpModeMeta(projectName, extraXml); + } catch (IOException e) { + if (!projectName.startsWith("backup_")) { + RobotLog.e("ProjectsUtil.fetchOpModeMeta(\"" + projectName + "\") - failed."); + RobotLog.logStackTrace(e); + } + return null; + } + } + + public static boolean isValidProjectName(String projectName) { + if (projectName != null) { + return projectName.matches(VALID_PROJECT_REGEX); + } + return false; + } + + public static String fetchBlkFileContent(String projectName) throws IOException { + String blocksContent; + String extraXml; + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + ensureChangesAreCommitted(projectName); + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + String blkFileContent = FileUtil.readFile(blkFile); + int iExtraXml = findExtraXml(blkFileContent); + if (iExtraXml != -1) { + blocksContent = blkFileContent.substring(0, iExtraXml); + extraXml = blkFileContent.substring(iExtraXml); + } else { + RobotLog.ee(TAG, "Block file, " + projectName + ", is missing extra xml."); + blocksContent = blkFileContent; + extraXml = ""; + } + String upgradedBlocksContent = upgradeBlocks(blocksContent, HardwareItemMap.newHardwareItemMap()); + if (!upgradedBlocksContent.equals(blocksContent)) { + return upgradedBlocksContent + extraXml; + } + return blkFileContent; + } + + private static String upgradeBlocks(String blkContent, HardwareItemMap hardwareItemMap) { + String blkContent2 = replaceIdentifierSuffixInBlocks(replaceIdentifierSuffixInBlocks(replaceIdentifierSuffixInBlocks(blkContent.replace("", ""), hardwareItemMap.getHardwareItems(HardwareType.LYNX_MODULE), "asLynxModule", "AsREVModule"), hardwareItemMap.getHardwareItems(HardwareType.COLOR_RANGE_SENSOR), "asLynxI2cColorRangeSensor", "AsREVColorRangeSensor"); + HardwareType[] typesThatDidntHaveSuffix = {HardwareType.ACCELERATION_SENSOR, HardwareType.COLOR_SENSOR, HardwareType.COMPASS_SENSOR, HardwareType.CR_SERVO, HardwareType.DC_MOTOR, HardwareType.DISTANCE_SENSOR, HardwareType.GYRO_SENSOR, HardwareType.IR_SEEKER_SENSOR, HardwareType.LED, HardwareType.LIGHT_SENSOR, HardwareType.SERVO, HardwareType.TOUCH_SENSOR, HardwareType.ULTRASONIC_SENSOR}; + for (HardwareType hardwareType : typesThatDidntHaveSuffix) { + blkContent2 = replaceIdentifierSuffixInBlocks(blkContent2, hardwareItemMap.getHardwareItems(hardwareType), "", hardwareType.identifierSuffixForJavaScript); + } + return blkContent2; + } + + private static String replaceIdentifierSuffixInBlocks(String blkContent, List hardwareItemList, String oldIdentifierSuffix, String newIdentifierSuffix) { + if (hardwareItemList == null) { + return blkContent; + } + String blkContent2 = blkContent; + for (HardwareItem hardwareItem : hardwareItemList) { + String newIdentifier = hardwareItem.identifier; + if (newIdentifier.endsWith(newIdentifierSuffix)) { + String oldIdentifier = newIdentifier.substring(0, newIdentifier.length() - newIdentifierSuffix.length()) + oldIdentifierSuffix; + String[] identifierFieldNames = {"IDENTIFIER", "IDENTIFIER1", "IDENTIFIER2"}; + for (String identifierFieldName : identifierFieldNames) { + String oldElement = "" + oldIdentifier + ""; + String newElement = "" + newIdentifier + ""; + blkContent2 = blkContent2.replace(oldElement, newElement); + } + } + } + return blkContent2; + } + + public static String fetchJsFileContent(String projectName) throws IOException { + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + ensureChangesAreCommitted(projectName); + File jsFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_JS_EXT); + return FileUtil.readFile(jsFile); + } + + private static void ensureChangesAreCommitted(String projectName) { + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + File jsFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_JS_EXT); + ReadWriteFile.ensureChangesAreCommitted(blkFile); + ReadWriteFile.ensureChangesAreCommitted(jsFile); + } + + public static String newProject(String projectName, String sampleName) throws IOException { + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + return readSampleAndReplaceDeviceNames(sampleName, HardwareItemMap.newHardwareItemMap()); + } + + private static String readSampleAndReplaceDeviceNames(String sampleName, HardwareItemMap hardwareItemMap) throws IOException { + return replaceDeviceNamesInSample(readSample(sampleName), hardwareItemMap); + } + + private static String readSample(String sampleName) throws IOException { + if (sampleName == null || sampleName.isEmpty()) { + sampleName = DEFAULT_BLOCKS_SAMPLE_NAME; + } + StringBuilder blkFileContent = new StringBuilder(); + AssetManager assetManager = AppUtil.getDefContext().getAssets(); + String assetName = "blocks/samples/" + sampleName + AppUtil.BLOCKS_BLK_EXT; + FileUtil.readAsset(blkFileContent, assetManager, assetName); + return blkFileContent.toString(); + } + + private static String replaceDeviceNamesInSample(String blkContent, HardwareItemMap hardwareItemMap) throws IOException { + Map> sampleDeviceNamesMap = getSampleDeviceNamesMap(blkContent); + for (Map.Entry> entry : sampleDeviceNamesMap.entrySet()) { + HardwareType hardwareType = entry.getKey(); + Set sampleDeviceNames = entry.getValue(); + if (!sampleDeviceNames.isEmpty() && hardwareItemMap.contains(hardwareType)) { + List items = hardwareItemMap.getHardwareItems(hardwareType); + if (!items.isEmpty()) { + List actualDeviceNames = new ArrayList<>(); + for (HardwareItem item : items) { + actualDeviceNames.add(item.deviceName); + } + Map replacements = figureOutReplacements(sampleDeviceNames, actualDeviceNames); + for (Map.Entry replacementEntry : replacements.entrySet()) { + String from = replacementEntry.getKey(); + String to = replacementEntry.getValue(); + blkContent = replaceDeviceNameInBlocks(hardwareType, blkContent, from, to); + } + } + } + } + return blkContent; + } + + private static Map> getSampleDeviceNamesMap(String blkFileContent) { + HardwareType hardwareType; + Map> mapBySuffix = getSampleDeviceNamesMappedBySuffix(blkFileContent); + Map> sampleDeviceNamesMap = new HashMap<>(); + for (Map.Entry> entry : mapBySuffix.entrySet()) { + String suffix = entry.getKey(); + if (suffix == "WEBCAM_NAME") { + hardwareType = HardwareType.WEBCAM_NAME; + } else { + hardwareType = HardwareType.fromIdentifierSuffixForJavaScript(suffix); + } + if (hardwareType != null) { + sampleDeviceNamesMap.put(hardwareType, entry.getValue()); + } + } + return sampleDeviceNamesMap; + } + + static Map> getSampleDeviceNamesMappedBySuffix(String blkFileContent) { + String deviceName; + String suffix; + Map> mapBySuffix = new HashMap<>(); + for (String line : blkFileContent.split("\n")) { + Matcher matcher1 = identifierFieldPattern.matcher(line); + if (matcher1.find()) { + String fieldName = matcher1.group(1); + String fieldValue = matcher1.group(2); + if (!fieldValue.equals("gamepad1") && !fieldValue.equals("gamepad2")) { + if (fieldName.equals("WEBCAM_NAME")) { + deviceName = fieldValue; + suffix = "WEBCAM_NAME"; + } else { + Matcher matcher2 = deviceNameWithSuffix.matcher(fieldValue); + if (matcher2.find()) { + deviceName = matcher2.group(1); + suffix = matcher2.group(2); + } + } + Set deviceNames = mapBySuffix.get(suffix); + if (deviceNames == null) { + deviceNames = new HashSet<>(); + mapBySuffix.put(suffix, deviceNames); + } + deviceNames.add(deviceName); + } + } + } + return mapBySuffix; + } + + static Map figureOutReplacements(Collection sampleDeviceNamesArg, Collection actualDeviceNamesArg) { + Map replacements = new HashMap<>(); + List sampleDeviceNames = new ArrayList<>(sampleDeviceNamesArg); + List actualDeviceNames = new ArrayList<>(actualDeviceNamesArg); + Collections.sort(sampleDeviceNames); + Collections.sort(actualDeviceNames); + Iterator itSample = sampleDeviceNames.iterator(); + while (itSample.hasNext()) { + String sampleDeviceName = itSample.next(); + Iterator itActual = actualDeviceNames.iterator(); + while (true) { + if (itActual.hasNext()) { + String actualDeviceName = itActual.next(); + if (sampleDeviceName.equalsIgnoreCase(actualDeviceName)) { + itSample.remove(); + itActual.remove(); + if (!sampleDeviceName.equals(actualDeviceName)) { + replacements.put(sampleDeviceName, actualDeviceName); + } + } + } + } + } + for (String specialDeviceName : specialDeviceNames) { + Iterator itSample2 = sampleDeviceNames.iterator(); + while (true) { + if (itSample2.hasNext()) { + String sampleDeviceName2 = itSample2.next(); + if (sampleDeviceName2.toLowerCase(Locale.ENGLISH).contains(specialDeviceName)) { + Iterator itActual2 = actualDeviceNames.iterator(); + while (true) { + if (itActual2.hasNext()) { + String actualDeviceName2 = itActual2.next(); + if (actualDeviceName2.toLowerCase(Locale.ENGLISH).contains(specialDeviceName)) { + itSample2.remove(); + itActual2.remove(); + replacements.put(sampleDeviceName2, actualDeviceName2); + break; + } + } + } + } + } + } + } + while (!sampleDeviceNames.isEmpty() && !actualDeviceNames.isEmpty()) { + replacements.put(sampleDeviceNames.remove(0), actualDeviceNames.remove(0)); + } + return replacements; + } + + private static String replaceDeviceNameInBlocks(HardwareType hardwareType, String blkContent, String sampleDeviceName, String actualDeviceName) { + String oldIdentifier; + String newIdentifier; + String[] fieldNames; + if (hardwareType == HardwareType.WEBCAM_NAME) { + oldIdentifier = sampleDeviceName; + newIdentifier = actualDeviceName; + fieldNames = new String[]{"WEBCAM_NAME"}; + } else { + oldIdentifier = hardwareType.makeIdentifier(sampleDeviceName); + newIdentifier = hardwareType.makeIdentifier(actualDeviceName); + if (hardwareType == HardwareType.DC_MOTOR) { + fieldNames = new String[]{"IDENTIFIER", "IDENTIFIER1", "IDENTIFIER2"}; + } else { + fieldNames = new String[]{"IDENTIFIER"}; + } + } + for (String fieldName : fieldNames) { + String oldElement = "" + oldIdentifier + ""; + String newElement = "" + newIdentifier + ""; + String blkContent2 = blkContent.replace(oldElement, newElement); + String oldElement2 = "\"" + fieldName + "\":\"" + sampleDeviceName + "\""; + String newElement2 = "\"" + fieldName + "\":\"" + actualDeviceName + "\""; + blkContent = blkContent2.replace(oldElement2, newElement2); + } + return blkContent; + } + + public static void saveProject(final String projectName, final String blkFileContent, final String jsFileContent) throws Throwable { + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.5 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + File jsFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_JS_EXT); + ReadWriteFile.updateFileRequiringCommit(blkFile, blkFileContent); + ReadWriteFile.updateFileRequiringCommit(jsFile, jsFileContent); + return null; + } + }); + } + + public static void renameProject(final String oldProjectName, final String newProjectName) throws Throwable { + if (!isValidProjectName(oldProjectName) || !isValidProjectName(newProjectName)) { + throw new IllegalArgumentException(); + } + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.6 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + File oldBlk = new File(AppUtil.BLOCK_OPMODES_DIR, oldProjectName + AppUtil.BLOCKS_BLK_EXT); + File newBlk = new File(AppUtil.BLOCK_OPMODES_DIR, newProjectName + AppUtil.BLOCKS_BLK_EXT); + if (oldBlk.renameTo(newBlk)) { + File oldJs = new File(AppUtil.BLOCK_OPMODES_DIR, oldProjectName + AppUtil.BLOCKS_JS_EXT); + File newJs = new File(AppUtil.BLOCK_OPMODES_DIR, newProjectName + AppUtil.BLOCKS_JS_EXT); + oldJs.renameTo(newJs); + return null; + } + return null; + } + }); + } + + public static void copyProject(final String oldProjectName, final String newProjectName) throws Throwable { + if (!isValidProjectName(oldProjectName) || !isValidProjectName(newProjectName)) { + throw new IllegalArgumentException(); + } + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.7 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + File oldBlk = new File(AppUtil.BLOCK_OPMODES_DIR, oldProjectName + AppUtil.BLOCKS_BLK_EXT); + File newBlk = new File(AppUtil.BLOCK_OPMODES_DIR, newProjectName + AppUtil.BLOCKS_BLK_EXT); + FileUtil.copyFile(oldBlk, newBlk); + try { + File oldJs = new File(AppUtil.BLOCK_OPMODES_DIR, oldProjectName + AppUtil.BLOCKS_JS_EXT); + File newJs = new File(AppUtil.BLOCK_OPMODES_DIR, newProjectName + AppUtil.BLOCKS_JS_EXT); + FileUtil.copyFile(oldJs, newJs); + return null; + } catch (IOException e) { + throw new IOExceptionWithUserVisibleMessage("The Blocks OpMode was successfully copied, but the new OpMode cannot be run until it is saved in the Blocks editor."); + } + } + }); + } + + public static void enableProject(final String projectName, final boolean enable) throws Throwable { + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + ensureChangesAreCommitted(projectName); + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.8 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + String blocksContent; + String extraXml; + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + String blkFileContent = FileUtil.readFile(blkFile); + int iExtraXml = ProjectsUtil.findExtraXml(blkFileContent); + if (iExtraXml != -1) { + blocksContent = blkFileContent.substring(0, iExtraXml); + extraXml = blkFileContent.substring(iExtraXml); + } else { + RobotLog.ee(ProjectsUtil.TAG, "Block file, " + projectName + ", is missing extra xml."); + blocksContent = blkFileContent; + extraXml = ""; + } + OpModeMeta opModeMeta = ProjectsUtil.createOpModeMeta(projectName, extraXml); + String newBlkFileContent = blocksContent + ProjectsUtil.formatExtraXml(opModeMeta.flavor, opModeMeta.group, opModeMeta.autoTransition, enable); + ReadWriteFile.updateFileRequiringCommit(blkFile, newBlkFileContent); + return null; + } + }); + } + + public static Boolean deleteProjects(final String[] projectNames) { + return (Boolean) ProjectsLockManager.lockProjectsWhile(new Supplier() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.9 + /* JADX WARN: Can't rename method to resolve collision */ + @Override // org.firstinspires.ftc.robotcore.external.Supplier + public Boolean get() { + for (String str : projectNames) { + if (!ProjectsUtil.isValidProjectName(str)) { + throw new IllegalArgumentException(); + } + } + boolean success = true; + for (String projectName : projectNames) { + File jsFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_JS_EXT); + if (jsFile.exists() && !jsFile.delete()) { + success = false; + } + if (success) { + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + if (blkFile.exists() && !blkFile.delete()) { + success = false; + } + } + } + return Boolean.valueOf(success); + } + }); + } + + public static String getBlocksJavaClassName(String projectName) { + File file; + StringBuilder className = new StringBuilder(); + char ch = projectName.charAt(0); + if (Character.isJavaIdentifierStart(ch)) { + className.append(ch); + } else if (Character.isJavaIdentifierPart(ch)) { + className.append('_').append(ch); + } + int length = projectName.length(); + for (int i = 1; i < length; i++) { + char ch2 = projectName.charAt(i); + if (Character.isJavaIdentifierPart(ch2)) { + className.append(ch2); + } + } + File dir = new File(OnBotJavaHelper.srcDir, "org/firstinspires/ftc/teamcode"); + String base = className.toString(); + File file2 = new File(dir, base + OnBotJavaFileSystemUtils.EXT_JAVA_FILE); + if (file2.exists()) { + int i2 = 1; + do { + i2++; + file = new File(dir, base + i2 + OnBotJavaFileSystemUtils.EXT_JAVA_FILE); + } while (file.exists()); + className.append(i2); + } + return className.toString(); + } + + public static void saveBlocksJava(final String relativeFileName, final String javaContent) throws Throwable { + ProjectsLockManager.lockProjectsWhile(new ThrowingCallable() { // from class: com.google.blocks.ftcrobotcontroller.util.ProjectsUtil.10 + @Override // org.firstinspires.ftc.robotcore.external.ThrowingCallable + public Void call() throws IOException { + AppUtil.getInstance().ensureDirectoryExists(AppUtil.BLOCK_OPMODES_DIR, false); + int lastSlash = relativeFileName.lastIndexOf(OnBotJavaFileSystemUtils.PATH_SEPARATOR); + String relativeDir = relativeFileName.substring(0, lastSlash + 1); + String filename = relativeFileName.substring(lastSlash + 1); + File dir = new File(AppUtil.BLOCK_OPMODES_DIR, "../java/src/" + relativeDir); + dir.mkdirs(); + File javaFile = new File(dir, filename); + ReadWriteFile.updateFileRequiringCommit(javaFile, javaContent); + return null; + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public static String formatExtraXml(OpModeMeta.Flavor flavor, String group, String autoTransition, boolean enabled) throws IOException { + XmlSerializer serializer = Xml.newSerializer(); + StringWriter writer = new StringWriter(); + serializer.setOutput(writer); + serializer.startDocument("UTF-8", true); + serializer.startTag("", XML_TAG_EXTRA); + serializer.startTag("", XML_TAG_OP_MODE_META); + serializer.attribute("", XML_ATTRIBUTE_FLAVOR, flavor.toString()); + serializer.attribute("", XML_ATTRIBUTE_GROUP, group); + if (autoTransition != null) { + serializer.attribute("", XML_ATTRIBUTE_AUTO_TRANSITION, autoTransition); + } + serializer.endTag("", XML_TAG_OP_MODE_META); + serializer.startTag("", XML_TAG_ENABLED); + serializer.attribute("", XML_ATTRIBUTE_VALUE, Boolean.toString(enabled)); + serializer.endTag("", XML_TAG_ENABLED); + serializer.endTag("", XML_TAG_EXTRA); + serializer.endDocument(); + return writer.toString(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public static OpModeMeta createOpModeMeta(String projectName, String extraXml) { + OpModeMeta.Flavor flavor = DEFAULT_FLAVOR; + String group = ""; + String autoTransition = null; + try { + XmlPullParser parser = Xml.newPullParser(); + parser.setInput(new StringReader(removeNewLines(extraXml))); + int eventType = parser.getEventType(); + while (eventType != 1) { + if (eventType == 2) { + if (parser.getName().equals(XML_TAG_OP_MODE_META)) { + for (int i = 0; i < parser.getAttributeCount(); i++) { + String name = parser.getAttributeName(i); + String value = parser.getAttributeValue(i); + if (name.equals(XML_ATTRIBUTE_FLAVOR)) { + flavor = OpModeMeta.Flavor.valueOf(value.toUpperCase(Locale.ENGLISH)); + } else if (name.equals(XML_ATTRIBUTE_GROUP)) { + if (!value.isEmpty() && !value.equals(OpModeMeta.DefaultGroup)) { + group = value; + } + } else if (name.equals(XML_ATTRIBUTE_AUTO_TRANSITION) && !value.isEmpty()) { + autoTransition = value; + } + } + } + } + int i2 = parser.next(); + eventType = i2; + } + } catch (IOException | XmlPullParserException e) { + RobotLog.e("ProjectsUtil.createOpmodeMeta(\"" + projectName + "\", ...) - failed to parse xml."); + RobotLog.logStackTrace(e); + } + OpModeMeta.Builder builder = new OpModeMeta.Builder().setName(projectName).setFlavor(flavor).setGroup(group).setSource(OpModeMeta.Source.BLOCKLY); + if (autoTransition != null) { + builder.setTransitionTarget(autoTransition); + } + return builder.build(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public static boolean isProjectEnabled(String projectName) throws IOException { + String extraXml; + if (!isValidProjectName(projectName)) { + throw new IllegalArgumentException(); + } + ensureChangesAreCommitted(projectName); + File blkFile = new File(AppUtil.BLOCK_OPMODES_DIR, projectName + AppUtil.BLOCKS_BLK_EXT); + String blkFileContent = FileUtil.readFile(blkFile); + int iExtraXml = findExtraXml(blkFileContent); + if (iExtraXml != -1) { + extraXml = blkFileContent.substring(iExtraXml); + } else { + RobotLog.ee(TAG, "Block file, " + projectName + ", is missing extra xml."); + extraXml = ""; + } + return isProjectEnabled(projectName, extraXml); + } + + /* JADX INFO: Access modifiers changed from: private */ + public static boolean isProjectEnabled(String projectName, String extraXml) { + boolean enabled = true; + try { + XmlPullParser parser = Xml.newPullParser(); + parser.setInput(new StringReader(removeNewLines(extraXml))); + int eventType = parser.getEventType(); + while (eventType != 1) { + if (eventType == 2) { + if (parser.getName().equals(XML_TAG_ENABLED)) { + for (int i = 0; i < parser.getAttributeCount(); i++) { + String name = parser.getAttributeName(i); + String value = parser.getAttributeValue(i); + if (name.equals(XML_ATTRIBUTE_VALUE)) { + enabled = Boolean.parseBoolean(value); + } + } + } + } + int i2 = parser.next(); + eventType = i2; + } + } catch (IOException | XmlPullParserException e) { + RobotLog.e("ProjectsUtil.isProjectEnabled(\"" + projectName + "\", ...) - failed to parse xml."); + RobotLog.logStackTrace(e); + } + return enabled; + } + + private static String removeNewLines(String text) { + return text.replace("\n", ""); + } + + static class BlocksProjectFilenameFilter implements FilenameFilter { + BlocksProjectFilenameFilter() { + } + + @Override // java.io.FilenameFilter + public boolean accept(File dir, String filename) { + if (!filename.endsWith(AppUtil.BLOCKS_BLK_EXT)) { + return false; + } + String projectName = filename.substring(0, filename.length() - AppUtil.BLOCKS_BLK_EXT.length()); + return ProjectsUtil.isValidProjectName(projectName); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxFolder.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxFolder.java new file mode 100644 index 000000000000..e8d82176eaba --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxFolder.java @@ -0,0 +1,14 @@ +package com.google.blocks.ftcrobotcontroller.util; + +/* JADX INFO: loaded from: classes8.dex */ +public enum ToolboxFolder { + ACTUATORS("Actuators"), + SENSORS("Sensors"), + OTHER("Other Devices"); + + public final String label; + + ToolboxFolder(String label) { + this.label = label; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxIcon.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxIcon.java new file mode 100644 index 000000000000..efba31e9456f --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxIcon.java @@ -0,0 +1,32 @@ +package com.google.blocks.ftcrobotcontroller.util; + +/* JADX INFO: loaded from: classes8.dex */ +public enum ToolboxIcon { + ACCELERATION_SENSOR("AccelerationSensor-icon"), + ANALOG_INPUT("AnalogInput-icon"), + COLOR_SENSOR("ColorSensor-icon"), + COMPASS_SENSOR("CompassSensor-icon"), + CR_SERVO("CRServo-icon"), + DC_MOTOR("DcMotor-icon"), + DIGITAL_CHANNEL("DigitalChannel-icon"), + ELAPSED_TIME("ElapsedTime-icon"), + GAMEPAD("Gamepad-icon"), + GYRO_SENSOR("GyroSensor-icon"), + IR_SEEKER_SENSOR("IrSeekerSensor-icon"), + LED("LED-icon"), + LIGHT_SENSOR("LightSensor-icon"), + LINEAR_OPMODE("LinearOpMode-icon"), + OCTOQUAD("OctoQuad-icon"), + OPTICAL_DISTANCE_SENSOR("OpticalDistanceSensor-icon"), + SERVO("Servo-icon"), + SERVO_CONTROLLER("ServoController-icon"), + TOUCH_SENSOR("TouchSensor-icon"), + ULTRASONIC_SENSOR("UltrasonicSensor-icon"), + VOLTAGE_SENSOR("VoltageSensor-icon"); + + public final String cssClass; + + ToolboxIcon(String cssClass) { + this.cssClass = cssClass; + } +} diff --git a/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxUtil.java b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxUtil.java new file mode 100644 index 000000000000..e7d624505dcc --- /dev/null +++ b/FtcRobotController/base/sources/com/google/blocks/ftcrobotcontroller/util/ToolboxUtil.java @@ -0,0 +1,145 @@ +package com.google.blocks.ftcrobotcontroller.util; + +import com.google.blocks.ftcrobotcontroller.hardware.HardwareType; +import java.util.Iterator; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public class ToolboxUtil { + private ToolboxUtil() { + } + + public static String makeNumberShadow(int n) { + return "" + n + "\n"; + } + + public static String makeNumberShadow(double n) { + return "" + n + "\n"; + } + + public static String makeBooleanShadow(boolean value) { + String b = value ? "TRUE" : "FALSE"; + return "" + b + "\n"; + } + + public static String makeTextShadow(String text) { + return "" + escapeForXml(text) + "\n"; + } + + public static String makeTypedEnumBlock(HardwareType hardwareType, String enumType) { + return "\n\n"; + } + + public static String makeTypedEnumBlock(HardwareType hardwareType, String enumType, String fieldName, String fieldValue) { + return "\n" + fieldValue + "\n"; + } + + public static String makeTypedEnumShadow(HardwareType hardwareType, String enumType) { + return makeTypedEnumShadow(hardwareType.blockTypePrefix, enumType); + } + + public static String makeTypedEnumShadow(HardwareType hardwareType, String enumType, String fieldName, String fieldValue) { + return makeTypedEnumShadow(hardwareType.blockTypePrefix, enumType, fieldName, fieldValue); + } + + public static String makeTypedEnumShadow(String blockTypePrefix, String enumType) { + return "\n\n"; + } + + public static String makeTypedEnumShadow(String blockTypePrefix, String enumType, String fieldName, String fieldValue) { + return "\n" + fieldValue + "\n"; + } + + public static String makeVariableGetBlock(String t) { + return "" + t + "\n"; + } + + private static void addPropertySetter(StringBuilder xmlToolbox, HardwareType hardwareType, String identifier, String propertyName, String propertyType, String setterValue) { + xmlToolbox.append("\n").append("").append(identifier).append("\n").append("").append(propertyName).append("\n").append("\n").append(setterValue).append("\n").append("\n"); + } + + public static void addDualPropertySetters(StringBuilder xmlToolbox, HardwareType hardwareType, String propertyName, String propertyType, String identifier1, String setterValue1, String identifier2, String setterValue2) { + xmlToolbox.append("\n").append("").append(propertyName).append("\n").append("").append(identifier1).append("\n").append("").append(identifier2).append("\n").append("\n").append(setterValue1).append("\n").append("\n").append(setterValue2).append("\n").append("\n"); + } + + private static void addPropertyGetter(StringBuilder xmlToolbox, HardwareType hardwareType, String identifier, String propertyName, String propertyType) { + xmlToolbox.append("\n").append("").append(identifier).append("\n").append("").append(propertyName).append("\n").append("\n"); + } + + public static void addProperties(StringBuilder xmlToolbox, HardwareType hardwareType, String identifier, Map properties, Map setterValues, Map enumBlocks) { + for (Map.Entry property : properties.entrySet()) { + String propertyName = property.getKey(); + String propertyType = property.getValue(); + if (setterValues != null && setterValues.containsKey(propertyName)) { + String[] strArr = setterValues.get(propertyName); + int i = 0; + for (int length = strArr.length; i < length; length = length) { + String setterValue = strArr[i]; + addPropertySetter(xmlToolbox, hardwareType, identifier, propertyName, propertyType, setterValue); + i++; + } + } + addPropertyGetter(xmlToolbox, hardwareType, identifier, propertyName, propertyType); + if (enumBlocks != null && enumBlocks.containsKey(propertyName)) { + xmlToolbox.append("EQ"); + addPropertyGetter(xmlToolbox, hardwareType, identifier, propertyName, propertyType); + xmlToolbox.append("").append(enumBlocks.get(propertyName)).append(""); + } + } + } + + public static void addFunctions(StringBuilder xmlToolbox, HardwareType hardwareType, String identifier, Map> functions) { + addFunctions(xmlToolbox, hardwareType, identifier, functions, null, null, null); + } + + public static void addFunctions(StringBuilder xmlToolbox, HardwareType hardwareType, String identifier, Map> functions, Map functionComments, Map variableSetters, Map enumBlocks) { + Iterator>> it; + Map map = functionComments; + Map map2 = variableSetters; + Map map3 = enumBlocks; + Iterator>> it2 = functions.entrySet().iterator(); + while (it2.hasNext()) { + Map.Entry> functionEntry = it2.next(); + String functionName = functionEntry.getKey(); + Map args = functionEntry.getValue(); + String enumBlock = map3 != null ? map3.get(functionName) : null; + String variableSetter = map2 != null ? map2.get(functionName) : null; + if (enumBlock != null) { + xmlToolbox.append("EQ"); + } else if (variableSetter != null) { + xmlToolbox.append("").append("").append(variableSetter).append("").append("\n"); + } + xmlToolbox.append("\n"); + String comment = map != null ? map.get(functionName) : null; + if (comment != null && comment.startsWith("")) { + xmlToolbox.append(comment).append("\n"); + } + xmlToolbox.append("").append(identifier).append("\n"); + if (args == null) { + it = it2; + } else { + for (Map.Entry argEntry : args.entrySet()) { + String argName = argEntry.getKey(); + String value = argEntry.getValue(); + xmlToolbox.append("\n").append(value).append("\n"); + it2 = it2; + } + it = it2; + } + xmlToolbox.append("\n"); + if (enumBlock != null) { + xmlToolbox.append("").append(enumBlock).append(""); + } else if (variableSetter != null) { + xmlToolbox.append(""); + } + map = functionComments; + map2 = variableSetters; + map3 = enumBlocks; + it2 = it; + } + } + + public static String escapeForXml(String s) { + return s.replace("&", "&").replace("\n", " ").replace("\"", """).replace("'", "'").replace("<", "<").replace(">", ">"); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/DefaultDateTypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/DefaultDateTypeAdapter.java new file mode 100644 index 000000000000..a067d22c9da5 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/DefaultDateTypeAdapter.java @@ -0,0 +1,93 @@ +package com.google.gson; + +import com.google.gson.internal.bind.util.ISO8601Utils; +import java.lang.reflect.Type; +import java.sql.Timestamp; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.ParsePosition; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +/* JADX INFO: loaded from: classes8.dex */ +final class DefaultDateTypeAdapter implements JsonSerializer, JsonDeserializer { + private final DateFormat enUsFormat; + private final DateFormat localFormat; + + DefaultDateTypeAdapter() { + this(DateFormat.getDateTimeInstance(2, 2, Locale.US), DateFormat.getDateTimeInstance(2, 2)); + } + + DefaultDateTypeAdapter(String datePattern) { + this(new SimpleDateFormat(datePattern, Locale.US), new SimpleDateFormat(datePattern)); + } + + DefaultDateTypeAdapter(int style) { + this(DateFormat.getDateInstance(style, Locale.US), DateFormat.getDateInstance(style)); + } + + public DefaultDateTypeAdapter(int dateStyle, int timeStyle) { + this(DateFormat.getDateTimeInstance(dateStyle, timeStyle, Locale.US), DateFormat.getDateTimeInstance(dateStyle, timeStyle)); + } + + DefaultDateTypeAdapter(DateFormat enUsFormat, DateFormat localFormat) { + this.enUsFormat = enUsFormat; + this.localFormat = localFormat; + } + + @Override // com.google.gson.JsonSerializer + public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { + JsonPrimitive jsonPrimitive; + synchronized (this.localFormat) { + String dateFormatAsString = this.enUsFormat.format(src); + jsonPrimitive = new JsonPrimitive(dateFormatAsString); + } + return jsonPrimitive; + } + + @Override // com.google.gson.JsonDeserializer + public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + if (!(json instanceof JsonPrimitive)) { + throw new JsonParseException("The date should be a string value"); + } + Date date = deserializeToDate(json); + if (typeOfT == Date.class) { + return date; + } + if (typeOfT == Timestamp.class) { + return new Timestamp(date.getTime()); + } + if (typeOfT == java.sql.Date.class) { + return new java.sql.Date(date.getTime()); + } + throw new IllegalArgumentException(getClass() + " cannot deserialize to " + typeOfT); + } + + private Date deserializeToDate(JsonElement json) { + Date date; + synchronized (this.localFormat) { + try { + date = this.localFormat.parse(json.getAsString()); + } catch (ParseException e) { + try { + return this.enUsFormat.parse(json.getAsString()); + } catch (ParseException e2) { + try { + return ISO8601Utils.parse(json.getAsString(), new ParsePosition(0)); + } catch (ParseException e3) { + throw new JsonSyntaxException(json.getAsString(), e3); + } + } + } + } + return date; + } + + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(DefaultDateTypeAdapter.class.getSimpleName()); + sb.append('(').append(this.localFormat.getClass().getSimpleName()).append(')'); + return sb.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/ExclusionStrategy.java b/FtcRobotController/base/sources/com/google/gson/ExclusionStrategy.java new file mode 100644 index 000000000000..68d57e619165 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/ExclusionStrategy.java @@ -0,0 +1,8 @@ +package com.google.gson; + +/* JADX INFO: loaded from: classes8.dex */ +public interface ExclusionStrategy { + boolean shouldSkipClass(Class cls); + + boolean shouldSkipField(FieldAttributes fieldAttributes); +} diff --git a/FtcRobotController/base/sources/com/google/gson/FieldAttributes.java b/FtcRobotController/base/sources/com/google/gson/FieldAttributes.java new file mode 100644 index 000000000000..3107854c9e67 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/FieldAttributes.java @@ -0,0 +1,54 @@ +package com.google.gson; + +import com.google.gson.internal.C$Gson$Preconditions; +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.lang.reflect.Type; +import java.util.Arrays; +import java.util.Collection; + +/* JADX INFO: loaded from: classes8.dex */ +public final class FieldAttributes { + private final Field field; + + public FieldAttributes(Field f) { + C$Gson$Preconditions.checkNotNull(f); + this.field = f; + } + + public Class getDeclaringClass() { + return this.field.getDeclaringClass(); + } + + public String getName() { + return this.field.getName(); + } + + public Type getDeclaredType() { + return this.field.getGenericType(); + } + + public Class getDeclaredClass() { + return this.field.getType(); + } + + public T getAnnotation(Class cls) { + return (T) this.field.getAnnotation(cls); + } + + public Collection getAnnotations() { + return Arrays.asList(this.field.getAnnotations()); + } + + public boolean hasModifier(int modifier) { + return (this.field.getModifiers() & modifier) != 0; + } + + Object get(Object instance) throws IllegalAccessException { + return this.field.get(instance); + } + + boolean isSynthetic() { + return this.field.isSynthetic(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/FieldNamingPolicy.java b/FtcRobotController/base/sources/com/google/gson/FieldNamingPolicy.java new file mode 100644 index 000000000000..378392fdc0f3 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/FieldNamingPolicy.java @@ -0,0 +1,76 @@ +package com.google.gson; + +import java.lang.reflect.Field; +import java.util.Locale; + +/* JADX INFO: loaded from: classes8.dex */ +public enum FieldNamingPolicy implements FieldNamingStrategy { + IDENTITY { // from class: com.google.gson.FieldNamingPolicy.1 + @Override // com.google.gson.FieldNamingStrategy + public String translateName(Field f) { + return f.getName(); + } + }, + UPPER_CAMEL_CASE { // from class: com.google.gson.FieldNamingPolicy.2 + @Override // com.google.gson.FieldNamingStrategy + public String translateName(Field f) { + return upperCaseFirstLetter(f.getName()); + } + }, + UPPER_CAMEL_CASE_WITH_SPACES { // from class: com.google.gson.FieldNamingPolicy.3 + @Override // com.google.gson.FieldNamingStrategy + public String translateName(Field f) { + return upperCaseFirstLetter(separateCamelCase(f.getName(), " ")); + } + }, + LOWER_CASE_WITH_UNDERSCORES { // from class: com.google.gson.FieldNamingPolicy.4 + @Override // com.google.gson.FieldNamingStrategy + public String translateName(Field f) { + return separateCamelCase(f.getName(), "_").toLowerCase(Locale.ENGLISH); + } + }, + LOWER_CASE_WITH_DASHES { // from class: com.google.gson.FieldNamingPolicy.5 + @Override // com.google.gson.FieldNamingStrategy + public String translateName(Field f) { + return separateCamelCase(f.getName(), "-").toLowerCase(Locale.ENGLISH); + } + }; + + static String separateCamelCase(String name, String separator) { + StringBuilder translation = new StringBuilder(); + for (int i = 0; i < name.length(); i++) { + char character = name.charAt(i); + if (Character.isUpperCase(character) && translation.length() != 0) { + translation.append(separator); + } + translation.append(character); + } + return translation.toString(); + } + + static String upperCaseFirstLetter(String name) { + StringBuilder fieldNameBuilder = new StringBuilder(); + int index = 0; + char firstCharacter = name.charAt(0); + while (index < name.length() - 1 && !Character.isLetter(firstCharacter)) { + fieldNameBuilder.append(firstCharacter); + index++; + firstCharacter = name.charAt(index); + } + if (index == name.length()) { + return fieldNameBuilder.toString(); + } + if (!Character.isUpperCase(firstCharacter)) { + String modifiedTarget = modifyString(Character.toUpperCase(firstCharacter), name, index + 1); + return fieldNameBuilder.append(modifiedTarget).toString(); + } + return name; + } + + private static String modifyString(char firstCharacter, String srcString, int indexOfSubstring) { + if (indexOfSubstring < srcString.length()) { + return firstCharacter + srcString.substring(indexOfSubstring); + } + return String.valueOf(firstCharacter); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/FieldNamingStrategy.java b/FtcRobotController/base/sources/com/google/gson/FieldNamingStrategy.java new file mode 100644 index 000000000000..c04815c18776 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/FieldNamingStrategy.java @@ -0,0 +1,8 @@ +package com.google.gson; + +import java.lang.reflect.Field; + +/* JADX INFO: loaded from: classes8.dex */ +public interface FieldNamingStrategy { + String translateName(Field field); +} diff --git a/FtcRobotController/base/sources/com/google/gson/Gson.java b/FtcRobotController/base/sources/com/google/gson/Gson.java new file mode 100644 index 000000000000..b766eb92aea1 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/Gson.java @@ -0,0 +1,571 @@ +package com.google.gson; + +import com.google.gson.internal.ConstructorConstructor; +import com.google.gson.internal.Excluder; +import com.google.gson.internal.Primitives; +import com.google.gson.internal.Streams; +import com.google.gson.internal.bind.ArrayTypeAdapter; +import com.google.gson.internal.bind.CollectionTypeAdapterFactory; +import com.google.gson.internal.bind.DateTypeAdapter; +import com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory; +import com.google.gson.internal.bind.JsonTreeReader; +import com.google.gson.internal.bind.JsonTreeWriter; +import com.google.gson.internal.bind.MapTypeAdapterFactory; +import com.google.gson.internal.bind.ObjectTypeAdapter; +import com.google.gson.internal.bind.ReflectiveTypeAdapterFactory; +import com.google.gson.internal.bind.SqlDateTypeAdapter; +import com.google.gson.internal.bind.TimeTypeAdapter; +import com.google.gson.internal.bind.TypeAdapters; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import com.google.gson.stream.MalformedJsonException; +import java.io.EOFException; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; +import java.io.StringWriter; +import java.io.Writer; +import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicLongArray; + +/* JADX INFO: loaded from: classes8.dex */ +public final class Gson { + static final boolean DEFAULT_COMPLEX_MAP_KEYS = false; + static final boolean DEFAULT_ESCAPE_HTML = true; + static final boolean DEFAULT_JSON_NON_EXECUTABLE = false; + static final boolean DEFAULT_LENIENT = false; + static final boolean DEFAULT_PRETTY_PRINT = false; + static final boolean DEFAULT_SERIALIZE_NULLS = false; + static final boolean DEFAULT_SPECIALIZE_FLOAT_VALUES = false; + private static final String JSON_NON_EXECUTABLE_PREFIX = ")]}'\n"; + private static final TypeToken NULL_KEY_SURROGATE = new TypeToken() { // from class: com.google.gson.Gson.1 + }; + private final ThreadLocal, FutureTypeAdapter>> calls; + private final ConstructorConstructor constructorConstructor; + private final Excluder excluder; + private final List factories; + private final FieldNamingStrategy fieldNamingStrategy; + private final boolean generateNonExecutableJson; + private final boolean htmlSafe; + private final JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory; + private final boolean lenient; + private final boolean prettyPrinting; + private final boolean serializeNulls; + private final Map, TypeAdapter> typeTokenCache; + + public Gson() { + this(Excluder.DEFAULT, FieldNamingPolicy.IDENTITY, Collections.emptyMap(), false, false, false, true, false, false, false, LongSerializationPolicy.DEFAULT, Collections.emptyList()); + } + + Gson(Excluder excluder, FieldNamingStrategy fieldNamingStrategy, Map> instanceCreators, boolean serializeNulls, boolean complexMapKeySerialization, boolean generateNonExecutableGson, boolean htmlSafe, boolean prettyPrinting, boolean lenient, boolean serializeSpecialFloatingPointValues, LongSerializationPolicy longSerializationPolicy, List typeAdapterFactories) { + this.calls = new ThreadLocal<>(); + this.typeTokenCache = new ConcurrentHashMap(); + this.constructorConstructor = new ConstructorConstructor(instanceCreators); + this.excluder = excluder; + this.fieldNamingStrategy = fieldNamingStrategy; + this.serializeNulls = serializeNulls; + this.generateNonExecutableJson = generateNonExecutableGson; + this.htmlSafe = htmlSafe; + this.prettyPrinting = prettyPrinting; + this.lenient = lenient; + List factories = new ArrayList<>(); + factories.add(TypeAdapters.JSON_ELEMENT_FACTORY); + factories.add(ObjectTypeAdapter.FACTORY); + factories.add(excluder); + factories.addAll(typeAdapterFactories); + factories.add(TypeAdapters.STRING_FACTORY); + factories.add(TypeAdapters.INTEGER_FACTORY); + factories.add(TypeAdapters.BOOLEAN_FACTORY); + factories.add(TypeAdapters.BYTE_FACTORY); + factories.add(TypeAdapters.SHORT_FACTORY); + TypeAdapter longAdapter = longAdapter(longSerializationPolicy); + factories.add(TypeAdapters.newFactory(Long.TYPE, Long.class, longAdapter)); + factories.add(TypeAdapters.newFactory(Double.TYPE, Double.class, doubleAdapter(serializeSpecialFloatingPointValues))); + factories.add(TypeAdapters.newFactory(Float.TYPE, Float.class, floatAdapter(serializeSpecialFloatingPointValues))); + factories.add(TypeAdapters.NUMBER_FACTORY); + factories.add(TypeAdapters.ATOMIC_INTEGER_FACTORY); + factories.add(TypeAdapters.ATOMIC_BOOLEAN_FACTORY); + factories.add(TypeAdapters.newFactory(AtomicLong.class, atomicLongAdapter(longAdapter))); + factories.add(TypeAdapters.newFactory(AtomicLongArray.class, atomicLongArrayAdapter(longAdapter))); + factories.add(TypeAdapters.ATOMIC_INTEGER_ARRAY_FACTORY); + factories.add(TypeAdapters.CHARACTER_FACTORY); + factories.add(TypeAdapters.STRING_BUILDER_FACTORY); + factories.add(TypeAdapters.STRING_BUFFER_FACTORY); + factories.add(TypeAdapters.newFactory(BigDecimal.class, TypeAdapters.BIG_DECIMAL)); + factories.add(TypeAdapters.newFactory(BigInteger.class, TypeAdapters.BIG_INTEGER)); + factories.add(TypeAdapters.URL_FACTORY); + factories.add(TypeAdapters.URI_FACTORY); + factories.add(TypeAdapters.UUID_FACTORY); + factories.add(TypeAdapters.CURRENCY_FACTORY); + factories.add(TypeAdapters.LOCALE_FACTORY); + factories.add(TypeAdapters.INET_ADDRESS_FACTORY); + factories.add(TypeAdapters.BIT_SET_FACTORY); + factories.add(DateTypeAdapter.FACTORY); + factories.add(TypeAdapters.CALENDAR_FACTORY); + factories.add(TimeTypeAdapter.FACTORY); + factories.add(SqlDateTypeAdapter.FACTORY); + factories.add(TypeAdapters.TIMESTAMP_FACTORY); + factories.add(ArrayTypeAdapter.FACTORY); + factories.add(TypeAdapters.CLASS_FACTORY); + factories.add(new CollectionTypeAdapterFactory(this.constructorConstructor)); + factories.add(new MapTypeAdapterFactory(this.constructorConstructor, complexMapKeySerialization)); + this.jsonAdapterFactory = new JsonAdapterAnnotationTypeAdapterFactory(this.constructorConstructor); + factories.add(this.jsonAdapterFactory); + factories.add(TypeAdapters.ENUM_FACTORY); + factories.add(new ReflectiveTypeAdapterFactory(this.constructorConstructor, fieldNamingStrategy, excluder, this.jsonAdapterFactory)); + this.factories = Collections.unmodifiableList(factories); + } + + public Excluder excluder() { + return this.excluder; + } + + public FieldNamingStrategy fieldNamingStrategy() { + return this.fieldNamingStrategy; + } + + public boolean serializeNulls() { + return this.serializeNulls; + } + + public boolean htmlSafe() { + return this.htmlSafe; + } + + private TypeAdapter doubleAdapter(boolean serializeSpecialFloatingPointValues) { + if (serializeSpecialFloatingPointValues) { + return TypeAdapters.DOUBLE; + } + return new TypeAdapter() { // from class: com.google.gson.Gson.2 + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read, reason: merged with bridge method [inline-methods] */ + public Number read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + return Double.valueOf(in.nextDouble()); + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, Number value) throws IOException { + if (value == null) { + out.nullValue(); + return; + } + double doubleValue = value.doubleValue(); + Gson.checkValidFloatingPoint(doubleValue); + out.value(value); + } + }; + } + + private TypeAdapter floatAdapter(boolean serializeSpecialFloatingPointValues) { + if (serializeSpecialFloatingPointValues) { + return TypeAdapters.FLOAT; + } + return new TypeAdapter() { // from class: com.google.gson.Gson.3 + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public Number read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + return Float.valueOf((float) in.nextDouble()); + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, Number value) throws IOException { + if (value == null) { + out.nullValue(); + return; + } + float floatValue = value.floatValue(); + Gson.checkValidFloatingPoint(floatValue); + out.value(value); + } + }; + } + + static void checkValidFloatingPoint(double value) { + if (Double.isNaN(value) || Double.isInfinite(value)) { + throw new IllegalArgumentException(value + " is not a valid double value as per JSON specification. To override this behavior, use GsonBuilder.serializeSpecialFloatingPointValues() method."); + } + } + + private static TypeAdapter longAdapter(LongSerializationPolicy longSerializationPolicy) { + if (longSerializationPolicy == LongSerializationPolicy.DEFAULT) { + return TypeAdapters.LONG; + } + return new TypeAdapter() { // from class: com.google.gson.Gson.4 + /* JADX WARN: Can't rename method to resolve collision */ + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public Number read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + return Long.valueOf(in.nextLong()); + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, Number value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + out.value(value.toString()); + } + } + }; + } + + private static TypeAdapter atomicLongAdapter(final TypeAdapter longAdapter) { + return new TypeAdapter() { // from class: com.google.gson.Gson.5 + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, AtomicLong value) throws IOException { + longAdapter.write(out, Long.valueOf(value.get())); + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read, reason: avoid collision after fix types in other method */ + public AtomicLong read2(JsonReader in) throws IOException { + Number value = (Number) longAdapter.read2(in); + return new AtomicLong(value.longValue()); + } + }.nullSafe(); + } + + private static TypeAdapter atomicLongArrayAdapter(final TypeAdapter longAdapter) { + return new TypeAdapter() { // from class: com.google.gson.Gson.6 + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, AtomicLongArray value) throws IOException { + out.beginArray(); + int length = value.length(); + for (int i = 0; i < length; i++) { + longAdapter.write(out, Long.valueOf(value.get(i))); + } + out.endArray(); + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read, reason: avoid collision after fix types in other method */ + public AtomicLongArray read2(JsonReader in) throws IOException { + List list = new ArrayList<>(); + in.beginArray(); + while (in.hasNext()) { + long value = ((Number) longAdapter.read2(in)).longValue(); + list.add(Long.valueOf(value)); + } + in.endArray(); + int length = list.size(); + AtomicLongArray array = new AtomicLongArray(length); + for (int i = 0; i < length; i++) { + array.set(i, list.get(i).longValue()); + } + return array; + } + }.nullSafe(); + } + + public TypeAdapter getAdapter(TypeToken type) { + TypeAdapter typeAdapter = (TypeAdapter) this.typeTokenCache.get(type == null ? NULL_KEY_SURROGATE : type); + if (typeAdapter != null) { + return typeAdapter; + } + Map, FutureTypeAdapter> threadCalls = this.calls.get(); + boolean requiresThreadLocalCleanup = false; + if (threadCalls == null) { + threadCalls = new HashMap(); + this.calls.set(threadCalls); + requiresThreadLocalCleanup = true; + } + FutureTypeAdapter futureTypeAdapter = threadCalls.get(type); + if (futureTypeAdapter != null) { + return futureTypeAdapter; + } + try { + FutureTypeAdapter futureTypeAdapter2 = new FutureTypeAdapter<>(); + threadCalls.put(type, futureTypeAdapter2); + for (TypeAdapterFactory factory : this.factories) { + TypeAdapter candidate = factory.create(this, type); + if (candidate != null) { + futureTypeAdapter2.setDelegate(candidate); + this.typeTokenCache.put(type, candidate); + return candidate; + } + } + throw new IllegalArgumentException("GSON cannot handle " + type); + } finally { + threadCalls.remove(type); + if (requiresThreadLocalCleanup) { + this.calls.remove(); + } + } + } + + public TypeAdapter getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken type) { + if (!this.factories.contains(skipPast)) { + skipPast = this.jsonAdapterFactory; + } + boolean skipPastFound = false; + for (TypeAdapterFactory factory : this.factories) { + if (!skipPastFound) { + if (factory == skipPast) { + skipPastFound = true; + } + } else { + TypeAdapter candidate = factory.create(this, type); + if (candidate != null) { + return candidate; + } + } + } + throw new IllegalArgumentException("GSON cannot serialize " + type); + } + + public TypeAdapter getAdapter(Class type) { + return getAdapter(TypeToken.get((Class) type)); + } + + public JsonElement toJsonTree(Object src) { + if (src == null) { + return JsonNull.INSTANCE; + } + return toJsonTree(src, src.getClass()); + } + + public JsonElement toJsonTree(Object src, Type typeOfSrc) { + JsonTreeWriter writer = new JsonTreeWriter(); + toJson(src, typeOfSrc, writer); + return writer.get(); + } + + public String toJson(Object src) { + if (src == null) { + return toJson((JsonElement) JsonNull.INSTANCE); + } + return toJson(src, src.getClass()); + } + + public String toJson(Object src, Type typeOfSrc) { + StringWriter writer = new StringWriter(); + toJson(src, typeOfSrc, writer); + return writer.toString(); + } + + public void toJson(Object src, Appendable writer) throws JsonIOException { + if (src != null) { + toJson(src, src.getClass(), writer); + } else { + toJson((JsonElement) JsonNull.INSTANCE, writer); + } + } + + public void toJson(Object src, Type typeOfSrc, Appendable writer) throws JsonIOException { + try { + JsonWriter jsonWriter = newJsonWriter(Streams.writerForAppendable(writer)); + toJson(src, typeOfSrc, jsonWriter); + } catch (IOException e) { + throw new JsonIOException(e); + } + } + + public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOException { + TypeAdapter adapter = getAdapter(TypeToken.get(typeOfSrc)); + boolean oldLenient = writer.isLenient(); + writer.setLenient(true); + boolean oldHtmlSafe = writer.isHtmlSafe(); + writer.setHtmlSafe(this.htmlSafe); + boolean oldSerializeNulls = writer.getSerializeNulls(); + writer.setSerializeNulls(this.serializeNulls); + try { + try { + adapter.write(writer, src); + } catch (IOException e) { + throw new JsonIOException(e); + } + } finally { + writer.setLenient(oldLenient); + writer.setHtmlSafe(oldHtmlSafe); + writer.setSerializeNulls(oldSerializeNulls); + } + } + + public String toJson(JsonElement jsonElement) { + StringWriter writer = new StringWriter(); + toJson(jsonElement, (Appendable) writer); + return writer.toString(); + } + + public void toJson(JsonElement jsonElement, Appendable writer) throws JsonIOException { + try { + JsonWriter jsonWriter = newJsonWriter(Streams.writerForAppendable(writer)); + toJson(jsonElement, jsonWriter); + } catch (IOException e) { + throw new JsonIOException(e); + } + } + + public JsonWriter newJsonWriter(Writer writer) throws IOException { + if (this.generateNonExecutableJson) { + writer.write(JSON_NON_EXECUTABLE_PREFIX); + } + JsonWriter jsonWriter = new JsonWriter(writer); + if (this.prettyPrinting) { + jsonWriter.setIndent(" "); + } + jsonWriter.setSerializeNulls(this.serializeNulls); + return jsonWriter; + } + + public JsonReader newJsonReader(Reader reader) { + JsonReader jsonReader = new JsonReader(reader); + jsonReader.setLenient(this.lenient); + return jsonReader; + } + + public void toJson(JsonElement jsonElement, JsonWriter writer) throws JsonIOException { + boolean oldLenient = writer.isLenient(); + writer.setLenient(true); + boolean oldHtmlSafe = writer.isHtmlSafe(); + writer.setHtmlSafe(this.htmlSafe); + boolean oldSerializeNulls = writer.getSerializeNulls(); + writer.setSerializeNulls(this.serializeNulls); + try { + try { + Streams.write(jsonElement, writer); + } catch (IOException e) { + throw new JsonIOException(e); + } + } finally { + writer.setLenient(oldLenient); + writer.setHtmlSafe(oldHtmlSafe); + writer.setSerializeNulls(oldSerializeNulls); + } + } + + public T fromJson(String str, Class cls) throws JsonSyntaxException { + return (T) Primitives.wrap(cls).cast(fromJson(str, (Type) cls)); + } + + public T fromJson(String str, Type type) throws JsonSyntaxException { + if (str == null) { + return null; + } + return (T) fromJson(new StringReader(str), type); + } + + public T fromJson(Reader reader, Class cls) throws JsonSyntaxException, JsonIOException { + JsonReader jsonReaderNewJsonReader = newJsonReader(reader); + Object objFromJson = fromJson(jsonReaderNewJsonReader, cls); + assertFullConsumption(objFromJson, jsonReaderNewJsonReader); + return (T) Primitives.wrap(cls).cast(objFromJson); + } + + public T fromJson(Reader reader, Type type) throws JsonSyntaxException, JsonIOException { + JsonReader jsonReaderNewJsonReader = newJsonReader(reader); + T t = (T) fromJson(jsonReaderNewJsonReader, type); + assertFullConsumption(t, jsonReaderNewJsonReader); + return t; + } + + private static void assertFullConsumption(Object obj, JsonReader reader) { + if (obj != null) { + try { + if (reader.peek() != JsonToken.END_DOCUMENT) { + throw new JsonIOException("JSON document was not fully consumed."); + } + } catch (MalformedJsonException e) { + throw new JsonSyntaxException(e); + } catch (IOException e2) { + throw new JsonIOException(e2); + } + } + } + + public T fromJson(JsonReader reader, Type typeOfT) throws JsonSyntaxException, JsonIOException { + boolean isEmpty = true; + boolean oldLenient = reader.isLenient(); + reader.setLenient(true); + try { + try { + reader.peek(); + isEmpty = false; + TypeAdapter typeAdapter = getAdapter(TypeToken.get(typeOfT)); + T object = typeAdapter.read2(reader); + return object; + } catch (EOFException e) { + if (!isEmpty) { + throw new JsonSyntaxException(e); + } + reader.setLenient(oldLenient); + return null; + } catch (IOException e2) { + throw new JsonSyntaxException(e2); + } catch (IllegalStateException e3) { + throw new JsonSyntaxException(e3); + } + } finally { + reader.setLenient(oldLenient); + } + } + + public T fromJson(JsonElement jsonElement, Class cls) throws JsonSyntaxException { + return (T) Primitives.wrap(cls).cast(fromJson(jsonElement, (Type) cls)); + } + + public T fromJson(JsonElement jsonElement, Type type) throws JsonSyntaxException { + if (jsonElement == null) { + return null; + } + return (T) fromJson(new JsonTreeReader(jsonElement), type); + } + + static class FutureTypeAdapter extends TypeAdapter { + private TypeAdapter delegate; + + FutureTypeAdapter() { + } + + public void setDelegate(TypeAdapter typeAdapter) { + if (this.delegate != null) { + throw new AssertionError(); + } + this.delegate = typeAdapter; + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public T read2(JsonReader in) throws IOException { + if (this.delegate == null) { + throw new IllegalStateException(); + } + return this.delegate.read2(in); + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, T value) throws IOException { + if (this.delegate == null) { + throw new IllegalStateException(); + } + this.delegate.write(out, value); + } + } + + public String toString() { + return "{serializeNulls:" + this.serializeNulls + "factories:" + this.factories + ",instanceCreators:" + this.constructorConstructor + "}"; + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/GsonBuilder.java b/FtcRobotController/base/sources/com/google/gson/GsonBuilder.java new file mode 100644 index 000000000000..631ce3000740 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/GsonBuilder.java @@ -0,0 +1,194 @@ +package com.google.gson; + +import com.google.gson.internal.C$Gson$Preconditions; +import com.google.gson.internal.Excluder; +import com.google.gson.internal.bind.TreeTypeAdapter; +import com.google.gson.internal.bind.TypeAdapters; +import com.google.gson.reflect.TypeToken; +import java.lang.reflect.Type; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public final class GsonBuilder { + private String datePattern; + private Excluder excluder = Excluder.DEFAULT; + private LongSerializationPolicy longSerializationPolicy = LongSerializationPolicy.DEFAULT; + private FieldNamingStrategy fieldNamingPolicy = FieldNamingPolicy.IDENTITY; + private final Map> instanceCreators = new HashMap(); + private final List factories = new ArrayList(); + private final List hierarchyFactories = new ArrayList(); + private boolean serializeNulls = false; + private int dateStyle = 2; + private int timeStyle = 2; + private boolean complexMapKeySerialization = false; + private boolean serializeSpecialFloatingPointValues = false; + private boolean escapeHtmlChars = true; + private boolean prettyPrinting = false; + private boolean generateNonExecutableJson = false; + private boolean lenient = false; + + public GsonBuilder setVersion(double ignoreVersionsAfter) { + this.excluder = this.excluder.withVersion(ignoreVersionsAfter); + return this; + } + + public GsonBuilder excludeFieldsWithModifiers(int... modifiers) { + this.excluder = this.excluder.withModifiers(modifiers); + return this; + } + + public GsonBuilder generateNonExecutableJson() { + this.generateNonExecutableJson = true; + return this; + } + + public GsonBuilder excludeFieldsWithoutExposeAnnotation() { + this.excluder = this.excluder.excludeFieldsWithoutExposeAnnotation(); + return this; + } + + public GsonBuilder serializeNulls() { + this.serializeNulls = true; + return this; + } + + public GsonBuilder enableComplexMapKeySerialization() { + this.complexMapKeySerialization = true; + return this; + } + + public GsonBuilder disableInnerClassSerialization() { + this.excluder = this.excluder.disableInnerClassSerialization(); + return this; + } + + public GsonBuilder setLongSerializationPolicy(LongSerializationPolicy serializationPolicy) { + this.longSerializationPolicy = serializationPolicy; + return this; + } + + public GsonBuilder setFieldNamingPolicy(FieldNamingPolicy namingConvention) { + this.fieldNamingPolicy = namingConvention; + return this; + } + + public GsonBuilder setFieldNamingStrategy(FieldNamingStrategy fieldNamingStrategy) { + this.fieldNamingPolicy = fieldNamingStrategy; + return this; + } + + public GsonBuilder setExclusionStrategies(ExclusionStrategy... strategies) { + for (ExclusionStrategy strategy : strategies) { + this.excluder = this.excluder.withExclusionStrategy(strategy, true, true); + } + return this; + } + + public GsonBuilder addSerializationExclusionStrategy(ExclusionStrategy strategy) { + this.excluder = this.excluder.withExclusionStrategy(strategy, true, false); + return this; + } + + public GsonBuilder addDeserializationExclusionStrategy(ExclusionStrategy strategy) { + this.excluder = this.excluder.withExclusionStrategy(strategy, false, true); + return this; + } + + public GsonBuilder setPrettyPrinting() { + this.prettyPrinting = true; + return this; + } + + public GsonBuilder setLenient() { + this.lenient = true; + return this; + } + + public GsonBuilder disableHtmlEscaping() { + this.escapeHtmlChars = false; + return this; + } + + public GsonBuilder setDateFormat(String pattern) { + this.datePattern = pattern; + return this; + } + + public GsonBuilder setDateFormat(int style) { + this.dateStyle = style; + this.datePattern = null; + return this; + } + + public GsonBuilder setDateFormat(int dateStyle, int timeStyle) { + this.dateStyle = dateStyle; + this.timeStyle = timeStyle; + this.datePattern = null; + return this; + } + + public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) { + C$Gson$Preconditions.checkArgument((typeAdapter instanceof JsonSerializer) || (typeAdapter instanceof JsonDeserializer) || (typeAdapter instanceof InstanceCreator) || (typeAdapter instanceof TypeAdapter)); + if (typeAdapter instanceof InstanceCreator) { + this.instanceCreators.put(type, (InstanceCreator) typeAdapter); + } + if ((typeAdapter instanceof JsonSerializer) || (typeAdapter instanceof JsonDeserializer)) { + TypeToken typeToken = TypeToken.get(type); + this.factories.add(TreeTypeAdapter.newFactoryWithMatchRawType(typeToken, typeAdapter)); + } + if (typeAdapter instanceof TypeAdapter) { + this.factories.add(TypeAdapters.newFactory(TypeToken.get(type), (TypeAdapter) typeAdapter)); + } + return this; + } + + public GsonBuilder registerTypeAdapterFactory(TypeAdapterFactory factory) { + this.factories.add(factory); + return this; + } + + public GsonBuilder registerTypeHierarchyAdapter(Class baseType, Object typeAdapter) { + C$Gson$Preconditions.checkArgument((typeAdapter instanceof JsonSerializer) || (typeAdapter instanceof JsonDeserializer) || (typeAdapter instanceof TypeAdapter)); + if ((typeAdapter instanceof JsonDeserializer) || (typeAdapter instanceof JsonSerializer)) { + this.hierarchyFactories.add(0, TreeTypeAdapter.newTypeHierarchyFactory(baseType, typeAdapter)); + } + if (typeAdapter instanceof TypeAdapter) { + this.factories.add(TypeAdapters.newTypeHierarchyFactory(baseType, (TypeAdapter) typeAdapter)); + } + return this; + } + + public GsonBuilder serializeSpecialFloatingPointValues() { + this.serializeSpecialFloatingPointValues = true; + return this; + } + + public Gson create() { + List factories = new ArrayList<>(); + factories.addAll(this.factories); + Collections.reverse(factories); + factories.addAll(this.hierarchyFactories); + addTypeAdaptersForDate(this.datePattern, this.dateStyle, this.timeStyle, factories); + return new Gson(this.excluder, this.fieldNamingPolicy, this.instanceCreators, this.serializeNulls, this.complexMapKeySerialization, this.generateNonExecutableJson, this.escapeHtmlChars, this.prettyPrinting, this.lenient, this.serializeSpecialFloatingPointValues, this.longSerializationPolicy, factories); + } + + private void addTypeAdaptersForDate(String datePattern, int dateStyle, int timeStyle, List factories) { + DefaultDateTypeAdapter dateTypeAdapter; + if (datePattern != null && !"".equals(datePattern.trim())) { + dateTypeAdapter = new DefaultDateTypeAdapter(datePattern); + } else if (dateStyle != 2 && timeStyle != 2) { + dateTypeAdapter = new DefaultDateTypeAdapter(dateStyle, timeStyle); + } else { + return; + } + factories.add(TreeTypeAdapter.newFactory(TypeToken.get(Date.class), dateTypeAdapter)); + factories.add(TreeTypeAdapter.newFactory(TypeToken.get(Timestamp.class), dateTypeAdapter)); + factories.add(TreeTypeAdapter.newFactory(TypeToken.get(java.sql.Date.class), dateTypeAdapter)); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/InstanceCreator.java b/FtcRobotController/base/sources/com/google/gson/InstanceCreator.java new file mode 100644 index 000000000000..3bc75ca19c4c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/InstanceCreator.java @@ -0,0 +1,8 @@ +package com.google.gson; + +import java.lang.reflect.Type; + +/* JADX INFO: loaded from: classes8.dex */ +public interface InstanceCreator { + T createInstance(Type type); +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonArray.java b/FtcRobotController/base/sources/com/google/gson/JsonArray.java new file mode 100644 index 000000000000..e6c580bc8422 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonArray.java @@ -0,0 +1,182 @@ +package com.google.gson; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonArray extends JsonElement implements Iterable { + private final List elements = new ArrayList(); + + /* JADX INFO: Access modifiers changed from: package-private */ + @Override // com.google.gson.JsonElement + public JsonArray deepCopy() { + JsonArray result = new JsonArray(); + for (JsonElement element : this.elements) { + result.add(element.deepCopy()); + } + return result; + } + + public void add(Boolean bool) { + this.elements.add(bool == null ? JsonNull.INSTANCE : new JsonPrimitive(bool)); + } + + public void add(Character character) { + this.elements.add(character == null ? JsonNull.INSTANCE : new JsonPrimitive(character)); + } + + public void add(Number number) { + this.elements.add(number == null ? JsonNull.INSTANCE : new JsonPrimitive(number)); + } + + public void add(String string) { + this.elements.add(string == null ? JsonNull.INSTANCE : new JsonPrimitive(string)); + } + + public void add(JsonElement element) { + if (element == null) { + element = JsonNull.INSTANCE; + } + this.elements.add(element); + } + + public void addAll(JsonArray array) { + this.elements.addAll(array.elements); + } + + public JsonElement set(int index, JsonElement element) { + return this.elements.set(index, element); + } + + public boolean remove(JsonElement element) { + return this.elements.remove(element); + } + + public JsonElement remove(int index) { + return this.elements.remove(index); + } + + public boolean contains(JsonElement element) { + return this.elements.contains(element); + } + + public int size() { + return this.elements.size(); + } + + @Override // java.lang.Iterable + public Iterator iterator() { + return this.elements.iterator(); + } + + public JsonElement get(int i) { + return this.elements.get(i); + } + + @Override // com.google.gson.JsonElement + public Number getAsNumber() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsNumber(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public String getAsString() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsString(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public double getAsDouble() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsDouble(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public BigDecimal getAsBigDecimal() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsBigDecimal(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public BigInteger getAsBigInteger() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsBigInteger(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public float getAsFloat() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsFloat(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public long getAsLong() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsLong(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public int getAsInt() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsInt(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public byte getAsByte() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsByte(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public char getAsCharacter() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsCharacter(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public short getAsShort() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsShort(); + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.JsonElement + public boolean getAsBoolean() { + if (this.elements.size() == 1) { + return this.elements.get(0).getAsBoolean(); + } + throw new IllegalStateException(); + } + + public boolean equals(Object o) { + return o == this || ((o instanceof JsonArray) && ((JsonArray) o).elements.equals(this.elements)); + } + + public int hashCode() { + return this.elements.hashCode(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonDeserializationContext.java b/FtcRobotController/base/sources/com/google/gson/JsonDeserializationContext.java new file mode 100644 index 000000000000..771bbc3e267f --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonDeserializationContext.java @@ -0,0 +1,8 @@ +package com.google.gson; + +import java.lang.reflect.Type; + +/* JADX INFO: loaded from: classes8.dex */ +public interface JsonDeserializationContext { + T deserialize(JsonElement jsonElement, Type type) throws JsonParseException; +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonDeserializer.java b/FtcRobotController/base/sources/com/google/gson/JsonDeserializer.java new file mode 100644 index 000000000000..e36ccf89f1a0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonDeserializer.java @@ -0,0 +1,8 @@ +package com.google.gson; + +import java.lang.reflect.Type; + +/* JADX INFO: loaded from: classes8.dex */ +public interface JsonDeserializer { + T deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException; +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonElement.java b/FtcRobotController/base/sources/com/google/gson/JsonElement.java new file mode 100644 index 000000000000..ccb3f043e27d --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonElement.java @@ -0,0 +1,121 @@ +package com.google.gson; + +import com.google.gson.internal.Streams; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.math.BigDecimal; +import java.math.BigInteger; + +/* JADX INFO: loaded from: classes8.dex */ +public abstract class JsonElement { + abstract JsonElement deepCopy(); + + public boolean isJsonArray() { + return this instanceof JsonArray; + } + + public boolean isJsonObject() { + return this instanceof JsonObject; + } + + public boolean isJsonPrimitive() { + return this instanceof JsonPrimitive; + } + + public boolean isJsonNull() { + return this instanceof JsonNull; + } + + public JsonObject getAsJsonObject() { + if (isJsonObject()) { + return (JsonObject) this; + } + throw new IllegalStateException("Not a JSON Object: " + this); + } + + public JsonArray getAsJsonArray() { + if (isJsonArray()) { + return (JsonArray) this; + } + throw new IllegalStateException("This is not a JSON Array."); + } + + public JsonPrimitive getAsJsonPrimitive() { + if (isJsonPrimitive()) { + return (JsonPrimitive) this; + } + throw new IllegalStateException("This is not a JSON Primitive."); + } + + public JsonNull getAsJsonNull() { + if (isJsonNull()) { + return (JsonNull) this; + } + throw new IllegalStateException("This is not a JSON Null."); + } + + public boolean getAsBoolean() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + Boolean getAsBooleanWrapper() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public Number getAsNumber() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public String getAsString() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public double getAsDouble() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public float getAsFloat() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public long getAsLong() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public int getAsInt() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public byte getAsByte() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public char getAsCharacter() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public BigDecimal getAsBigDecimal() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public BigInteger getAsBigInteger() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public short getAsShort() { + throw new UnsupportedOperationException(getClass().getSimpleName()); + } + + public String toString() { + try { + StringWriter stringWriter = new StringWriter(); + JsonWriter jsonWriter = new JsonWriter(stringWriter); + jsonWriter.setLenient(true); + Streams.write(this, jsonWriter); + return stringWriter.toString(); + } catch (IOException e) { + throw new AssertionError(e); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonIOException.java b/FtcRobotController/base/sources/com/google/gson/JsonIOException.java new file mode 100644 index 000000000000..9ac7c03a28f0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonIOException.java @@ -0,0 +1,18 @@ +package com.google.gson; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonIOException extends JsonParseException { + private static final long serialVersionUID = 1; + + public JsonIOException(String msg) { + super(msg); + } + + public JsonIOException(String msg, Throwable cause) { + super(msg, cause); + } + + public JsonIOException(Throwable cause) { + super(cause); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonNull.java b/FtcRobotController/base/sources/com/google/gson/JsonNull.java new file mode 100644 index 000000000000..11530d23e429 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonNull.java @@ -0,0 +1,24 @@ +package com.google.gson; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonNull extends JsonElement { + public static final JsonNull INSTANCE = new JsonNull(); + + @Deprecated + public JsonNull() { + } + + /* JADX INFO: Access modifiers changed from: package-private */ + @Override // com.google.gson.JsonElement + public JsonNull deepCopy() { + return INSTANCE; + } + + public int hashCode() { + return JsonNull.class.hashCode(); + } + + public boolean equals(Object other) { + return this == other || (other instanceof JsonNull); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonObject.java b/FtcRobotController/base/sources/com/google/gson/JsonObject.java new file mode 100644 index 000000000000..244a63aaec49 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonObject.java @@ -0,0 +1,87 @@ +package com.google.gson; + +import com.google.gson.internal.LinkedTreeMap; +import java.util.Map; +import java.util.Set; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonObject extends JsonElement { + private final LinkedTreeMap members = new LinkedTreeMap<>(); + + /* JADX INFO: Access modifiers changed from: package-private */ + @Override // com.google.gson.JsonElement + public JsonObject deepCopy() { + JsonObject result = new JsonObject(); + for (Map.Entry entry : this.members.entrySet()) { + result.add(entry.getKey(), entry.getValue().deepCopy()); + } + return result; + } + + public void add(String property, JsonElement value) { + if (value == null) { + value = JsonNull.INSTANCE; + } + this.members.put(property, value); + } + + public JsonElement remove(String property) { + return this.members.remove(property); + } + + public void addProperty(String property, String value) { + add(property, createJsonElement(value)); + } + + public void addProperty(String property, Number value) { + add(property, createJsonElement(value)); + } + + public void addProperty(String property, Boolean value) { + add(property, createJsonElement(value)); + } + + public void addProperty(String property, Character value) { + add(property, createJsonElement(value)); + } + + private JsonElement createJsonElement(Object value) { + return value == null ? JsonNull.INSTANCE : new JsonPrimitive(value); + } + + public Set> entrySet() { + return this.members.entrySet(); + } + + public int size() { + return this.members.size(); + } + + public boolean has(String memberName) { + return this.members.containsKey(memberName); + } + + public JsonElement get(String memberName) { + return this.members.get(memberName); + } + + public JsonPrimitive getAsJsonPrimitive(String memberName) { + return (JsonPrimitive) this.members.get(memberName); + } + + public JsonArray getAsJsonArray(String memberName) { + return (JsonArray) this.members.get(memberName); + } + + public JsonObject getAsJsonObject(String memberName) { + return (JsonObject) this.members.get(memberName); + } + + public boolean equals(Object o) { + return o == this || ((o instanceof JsonObject) && ((JsonObject) o).members.equals(this.members)); + } + + public int hashCode() { + return this.members.hashCode(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonParseException.java b/FtcRobotController/base/sources/com/google/gson/JsonParseException.java new file mode 100644 index 000000000000..b46aeaad93bc --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonParseException.java @@ -0,0 +1,18 @@ +package com.google.gson; + +/* JADX INFO: loaded from: classes8.dex */ +public class JsonParseException extends RuntimeException { + static final long serialVersionUID = -4086729973971783390L; + + public JsonParseException(String msg) { + super(msg); + } + + public JsonParseException(String msg, Throwable cause) { + super(msg, cause); + } + + public JsonParseException(Throwable cause) { + super(cause); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonParser.java b/FtcRobotController/base/sources/com/google/gson/JsonParser.java new file mode 100644 index 000000000000..a871de4fe7f5 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonParser.java @@ -0,0 +1,49 @@ +package com.google.gson; + +import com.google.gson.internal.Streams; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.MalformedJsonException; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonParser { + public JsonElement parse(String json) throws JsonSyntaxException { + return parse(new StringReader(json)); + } + + public JsonElement parse(Reader json) throws JsonSyntaxException, JsonIOException { + try { + JsonReader jsonReader = new JsonReader(json); + JsonElement element = parse(jsonReader); + if (!element.isJsonNull() && jsonReader.peek() != JsonToken.END_DOCUMENT) { + throw new JsonSyntaxException("Did not consume the entire document."); + } + return element; + } catch (MalformedJsonException e) { + throw new JsonSyntaxException(e); + } catch (IOException e2) { + throw new JsonIOException(e2); + } catch (NumberFormatException e3) { + throw new JsonSyntaxException(e3); + } + } + + public JsonElement parse(JsonReader json) throws JsonSyntaxException, JsonIOException { + boolean lenient = json.isLenient(); + json.setLenient(true); + try { + try { + return Streams.parse(json); + } catch (OutOfMemoryError e) { + throw new JsonParseException("Failed parsing JSON source: " + json + " to Json", e); + } catch (StackOverflowError e2) { + throw new JsonParseException("Failed parsing JSON source: " + json + " to Json", e2); + } + } finally { + json.setLenient(lenient); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonPrimitive.java b/FtcRobotController/base/sources/com/google/gson/JsonPrimitive.java new file mode 100644 index 000000000000..d560b6e8429a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonPrimitive.java @@ -0,0 +1,204 @@ +package com.google.gson; + +import com.google.gson.internal.C$Gson$Preconditions; +import com.google.gson.internal.LazilyParsedNumber; +import java.math.BigDecimal; +import java.math.BigInteger; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonPrimitive extends JsonElement { + private static final Class[] PRIMITIVE_TYPES = {Integer.TYPE, Long.TYPE, Short.TYPE, Float.TYPE, Double.TYPE, Byte.TYPE, Boolean.TYPE, Character.TYPE, Integer.class, Long.class, Short.class, Float.class, Double.class, Byte.class, Boolean.class, Character.class}; + private Object value; + + public JsonPrimitive(Boolean bool) { + setValue(bool); + } + + public JsonPrimitive(Number number) { + setValue(number); + } + + public JsonPrimitive(String string) { + setValue(string); + } + + public JsonPrimitive(Character c) { + setValue(c); + } + + JsonPrimitive(Object primitive) { + setValue(primitive); + } + + /* JADX INFO: Access modifiers changed from: package-private */ + @Override // com.google.gson.JsonElement + public JsonPrimitive deepCopy() { + return this; + } + + void setValue(Object primitive) { + if (primitive instanceof Character) { + char c = ((Character) primitive).charValue(); + this.value = String.valueOf(c); + } else { + C$Gson$Preconditions.checkArgument((primitive instanceof Number) || isPrimitiveOrString(primitive)); + this.value = primitive; + } + } + + public boolean isBoolean() { + return this.value instanceof Boolean; + } + + @Override // com.google.gson.JsonElement + Boolean getAsBooleanWrapper() { + return (Boolean) this.value; + } + + @Override // com.google.gson.JsonElement + public boolean getAsBoolean() { + if (isBoolean()) { + return getAsBooleanWrapper().booleanValue(); + } + return Boolean.parseBoolean(getAsString()); + } + + public boolean isNumber() { + return this.value instanceof Number; + } + + @Override // com.google.gson.JsonElement + public Number getAsNumber() { + return this.value instanceof String ? new LazilyParsedNumber((String) this.value) : (Number) this.value; + } + + public boolean isString() { + return this.value instanceof String; + } + + @Override // com.google.gson.JsonElement + public String getAsString() { + if (isNumber()) { + return getAsNumber().toString(); + } + if (isBoolean()) { + return getAsBooleanWrapper().toString(); + } + return (String) this.value; + } + + @Override // com.google.gson.JsonElement + public double getAsDouble() { + return isNumber() ? getAsNumber().doubleValue() : Double.parseDouble(getAsString()); + } + + @Override // com.google.gson.JsonElement + public BigDecimal getAsBigDecimal() { + return this.value instanceof BigDecimal ? (BigDecimal) this.value : new BigDecimal(this.value.toString()); + } + + @Override // com.google.gson.JsonElement + public BigInteger getAsBigInteger() { + return this.value instanceof BigInteger ? (BigInteger) this.value : new BigInteger(this.value.toString()); + } + + @Override // com.google.gson.JsonElement + public float getAsFloat() { + return isNumber() ? getAsNumber().floatValue() : Float.parseFloat(getAsString()); + } + + @Override // com.google.gson.JsonElement + public long getAsLong() { + return isNumber() ? getAsNumber().longValue() : Long.parseLong(getAsString()); + } + + @Override // com.google.gson.JsonElement + public short getAsShort() { + return isNumber() ? getAsNumber().shortValue() : Short.parseShort(getAsString()); + } + + @Override // com.google.gson.JsonElement + public int getAsInt() { + return isNumber() ? getAsNumber().intValue() : Integer.parseInt(getAsString()); + } + + @Override // com.google.gson.JsonElement + public byte getAsByte() { + return isNumber() ? getAsNumber().byteValue() : Byte.parseByte(getAsString()); + } + + @Override // com.google.gson.JsonElement + public char getAsCharacter() { + return getAsString().charAt(0); + } + + private static boolean isPrimitiveOrString(Object target) { + if (target instanceof String) { + return true; + } + Class classOfPrimitive = target.getClass(); + for (Class standardPrimitive : PRIMITIVE_TYPES) { + if (standardPrimitive.isAssignableFrom(classOfPrimitive)) { + return true; + } + } + return false; + } + + public int hashCode() { + if (this.value == null) { + return 31; + } + if (isIntegral(this)) { + long value = getAsNumber().longValue(); + return (int) ((value >>> 32) ^ value); + } + if (this.value instanceof Number) { + long value2 = Double.doubleToLongBits(getAsNumber().doubleValue()); + return (int) ((value2 >>> 32) ^ value2); + } + return this.value.hashCode(); + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null || getClass() != obj.getClass()) { + return false; + } + JsonPrimitive other = (JsonPrimitive) obj; + if (this.value == null) { + if (other.value == null) { + return true; + } + return false; + } + if (isIntegral(this) && isIntegral(other)) { + if (getAsNumber().longValue() == other.getAsNumber().longValue()) { + return true; + } + return false; + } + if ((this.value instanceof Number) && (other.value instanceof Number)) { + double a = getAsNumber().doubleValue(); + double b = other.getAsNumber().doubleValue(); + if (a == b) { + return true; + } + if (Double.isNaN(a) && Double.isNaN(b)) { + return true; + } + return false; + } + return this.value.equals(other.value); + } + + private static boolean isIntegral(JsonPrimitive primitive) { + if (!(primitive.value instanceof Number)) { + return false; + } + Number number = (Number) primitive.value; + return (number instanceof BigInteger) || (number instanceof Long) || (number instanceof Integer) || (number instanceof Short) || (number instanceof Byte); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonSerializationContext.java b/FtcRobotController/base/sources/com/google/gson/JsonSerializationContext.java new file mode 100644 index 000000000000..ba977f5a944a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonSerializationContext.java @@ -0,0 +1,10 @@ +package com.google.gson; + +import java.lang.reflect.Type; + +/* JADX INFO: loaded from: classes8.dex */ +public interface JsonSerializationContext { + JsonElement serialize(Object obj); + + JsonElement serialize(Object obj, Type type); +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonSerializer.java b/FtcRobotController/base/sources/com/google/gson/JsonSerializer.java new file mode 100644 index 000000000000..84e147f0d379 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonSerializer.java @@ -0,0 +1,8 @@ +package com.google.gson; + +import java.lang.reflect.Type; + +/* JADX INFO: loaded from: classes8.dex */ +public interface JsonSerializer { + JsonElement serialize(T t, Type type, JsonSerializationContext jsonSerializationContext); +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonStreamParser.java b/FtcRobotController/base/sources/com/google/gson/JsonStreamParser.java new file mode 100644 index 000000000000..5aa18f65d488 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonStreamParser.java @@ -0,0 +1,74 @@ +package com.google.gson; + +import com.google.gson.internal.Streams; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.MalformedJsonException; +import java.io.EOFException; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; +import java.util.Iterator; +import java.util.NoSuchElementException; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonStreamParser implements Iterator { + private final Object lock; + private final JsonReader parser; + + public JsonStreamParser(String json) { + this(new StringReader(json)); + } + + public JsonStreamParser(Reader reader) { + this.parser = new JsonReader(reader); + this.parser.setLenient(true); + this.lock = new Object(); + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // java.util.Iterator + public JsonElement next() throws JsonParseException { + if (!hasNext()) { + throw new NoSuchElementException(); + } + try { + return Streams.parse(this.parser); + } catch (JsonParseException e) { + if (e.getCause() instanceof EOFException) { + throw new NoSuchElementException(); + } + throw e; + } catch (OutOfMemoryError e2) { + throw new JsonParseException("Failed parsing JSON source to Json", e2); + } catch (StackOverflowError e3) { + throw new JsonParseException("Failed parsing JSON source to Json", e3); + } + } + + @Override // java.util.Iterator + public boolean hasNext() { + boolean z; + synchronized (this.lock) { + try { + try { + try { + z = this.parser.peek() != JsonToken.END_DOCUMENT; + } catch (IOException e) { + throw new JsonIOException(e); + } + } catch (MalformedJsonException e2) { + throw new JsonSyntaxException(e2); + } + } catch (Throwable th) { + throw th; + } + } + return z; + } + + @Override // java.util.Iterator + public void remove() { + throw new UnsupportedOperationException(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/JsonSyntaxException.java b/FtcRobotController/base/sources/com/google/gson/JsonSyntaxException.java new file mode 100644 index 000000000000..14bdcd788de3 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/JsonSyntaxException.java @@ -0,0 +1,18 @@ +package com.google.gson; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonSyntaxException extends JsonParseException { + private static final long serialVersionUID = 1; + + public JsonSyntaxException(String msg) { + super(msg); + } + + public JsonSyntaxException(String msg, Throwable cause) { + super(msg, cause); + } + + public JsonSyntaxException(Throwable cause) { + super(cause); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/LongSerializationPolicy.java b/FtcRobotController/base/sources/com/google/gson/LongSerializationPolicy.java new file mode 100644 index 000000000000..5f7e7da01850 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/LongSerializationPolicy.java @@ -0,0 +1,19 @@ +package com.google.gson; + +/* JADX INFO: loaded from: classes8.dex */ +public enum LongSerializationPolicy { + DEFAULT { // from class: com.google.gson.LongSerializationPolicy.1 + @Override // com.google.gson.LongSerializationPolicy + public JsonElement serialize(Long value) { + return new JsonPrimitive((Number) value); + } + }, + STRING { // from class: com.google.gson.LongSerializationPolicy.2 + @Override // com.google.gson.LongSerializationPolicy + public JsonElement serialize(Long value) { + return new JsonPrimitive(String.valueOf(value)); + } + }; + + public abstract JsonElement serialize(Long l); +} diff --git a/FtcRobotController/base/sources/com/google/gson/TypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/TypeAdapter.java new file mode 100644 index 000000000000..aa7a7dbe95f6 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/TypeAdapter.java @@ -0,0 +1,86 @@ +package com.google.gson; + +import com.google.gson.internal.bind.JsonTreeReader; +import com.google.gson.internal.bind.JsonTreeWriter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; +import java.io.StringWriter; +import java.io.Writer; + +/* JADX INFO: loaded from: classes8.dex */ +public abstract class TypeAdapter { + /* JADX INFO: renamed from: read */ + public abstract T read2(JsonReader jsonReader) throws IOException; + + public abstract void write(JsonWriter jsonWriter, T t) throws IOException; + + public final void toJson(Writer out, T value) throws IOException { + JsonWriter writer = new JsonWriter(out); + write(writer, value); + } + + public final TypeAdapter nullSafe() { + return new TypeAdapter() { // from class: com.google.gson.TypeAdapter.1 + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, T value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + TypeAdapter.this.write(out, value); + } + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public T read2(JsonReader jsonReader) throws IOException { + if (jsonReader.peek() == JsonToken.NULL) { + jsonReader.nextNull(); + return null; + } + return (T) TypeAdapter.this.read2(jsonReader); + } + }; + } + + public final String toJson(T value) { + StringWriter stringWriter = new StringWriter(); + try { + toJson(stringWriter, value); + return stringWriter.toString(); + } catch (IOException e) { + throw new AssertionError(e); + } + } + + public final JsonElement toJsonTree(T value) { + try { + JsonTreeWriter jsonWriter = new JsonTreeWriter(); + write(jsonWriter, value); + return jsonWriter.get(); + } catch (IOException e) { + throw new JsonIOException(e); + } + } + + public final T fromJson(Reader in) throws IOException { + JsonReader reader = new JsonReader(in); + return read2(reader); + } + + public final T fromJson(String json) throws IOException { + return fromJson(new StringReader(json)); + } + + public final T fromJsonTree(JsonElement jsonTree) { + try { + JsonReader jsonReader = new JsonTreeReader(jsonTree); + return read2(jsonReader); + } catch (IOException e) { + throw new JsonIOException(e); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/TypeAdapterFactory.java b/FtcRobotController/base/sources/com/google/gson/TypeAdapterFactory.java new file mode 100644 index 000000000000..efdd84b97ef4 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/TypeAdapterFactory.java @@ -0,0 +1,8 @@ +package com.google.gson; + +import com.google.gson.reflect.TypeToken; + +/* JADX INFO: loaded from: classes8.dex */ +public interface TypeAdapterFactory { + TypeAdapter create(Gson gson, TypeToken typeToken); +} diff --git a/FtcRobotController/base/sources/com/google/gson/annotations/Expose.java b/FtcRobotController/base/sources/com/google/gson/annotations/Expose.java new file mode 100644 index 000000000000..9c2d513bd400 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/annotations/Expose.java @@ -0,0 +1,17 @@ +package com.google.gson.annotations; + +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; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.FIELD}) +@Documented +@Retention(RetentionPolicy.RUNTIME) +public @interface Expose { + boolean deserialize() default true; + + boolean serialize() default true; +} diff --git a/FtcRobotController/base/sources/com/google/gson/annotations/JsonAdapter.java b/FtcRobotController/base/sources/com/google/gson/annotations/JsonAdapter.java new file mode 100644 index 000000000000..d57067290d10 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/annotations/JsonAdapter.java @@ -0,0 +1,15 @@ +package com.google.gson.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.TYPE, ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface JsonAdapter { + boolean nullSafe() default true; + + Class value(); +} diff --git a/FtcRobotController/base/sources/com/google/gson/annotations/SerializedName.java b/FtcRobotController/base/sources/com/google/gson/annotations/SerializedName.java new file mode 100644 index 000000000000..dd7719f59e98 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/annotations/SerializedName.java @@ -0,0 +1,17 @@ +package com.google.gson.annotations; + +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; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.FIELD, ElementType.METHOD}) +@Documented +@Retention(RetentionPolicy.RUNTIME) +public @interface SerializedName { + String[] alternate() default {}; + + String value(); +} diff --git a/FtcRobotController/base/sources/com/google/gson/annotations/Since.java b/FtcRobotController/base/sources/com/google/gson/annotations/Since.java new file mode 100644 index 000000000000..2bd13228b235 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/annotations/Since.java @@ -0,0 +1,15 @@ +package com.google.gson.annotations; + +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; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.FIELD, ElementType.TYPE}) +@Documented +@Retention(RetentionPolicy.RUNTIME) +public @interface Since { + double value(); +} diff --git a/FtcRobotController/base/sources/com/google/gson/annotations/Until.java b/FtcRobotController/base/sources/com/google/gson/annotations/Until.java new file mode 100644 index 000000000000..7dc54e5a8790 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/annotations/Until.java @@ -0,0 +1,15 @@ +package com.google.gson.annotations; + +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; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.FIELD, ElementType.TYPE}) +@Documented +@Retention(RetentionPolicy.RUNTIME) +public @interface Until { + double value(); +} diff --git a/FtcRobotController/base/sources/com/google/gson/extras/examples/rawcollections/RawCollectionsExample.java b/FtcRobotController/base/sources/com/google/gson/extras/examples/rawcollections/RawCollectionsExample.java new file mode 100644 index 000000000000..8f694777d65d --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/extras/examples/rawcollections/RawCollectionsExample.java @@ -0,0 +1,41 @@ +package com.google.gson.extras.examples.rawcollections; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonParser; +import java.util.ArrayList; +import java.util.Collection; + +/* JADX INFO: loaded from: classes8.dex */ +public class RawCollectionsExample { + + static class Event { + private String name; + private String source; + + private Event(String name, String source) { + this.name = name; + this.source = source; + } + + public String toString() { + return String.format("(name=%s, source=%s)", this.name, this.source); + } + } + + public static void main(String[] args) { + Gson gson = new Gson(); + Collection collection = new ArrayList(); + collection.add("hello"); + collection.add(5); + collection.add(new Event("GREETINGS", "guest")); + String json = gson.toJson(collection); + System.out.println("Using Gson.toJson() on a raw collection: " + json); + JsonParser parser = new JsonParser(); + JsonArray array = parser.parse(json).getAsJsonArray(); + String message = (String) gson.fromJson(array.get(0), String.class); + int number = ((Integer) gson.fromJson(array.get(1), Integer.TYPE)).intValue(); + Event event = (Event) gson.fromJson(array.get(2), Event.class); + System.out.printf("Using Gson.fromJson() to get: %s, %d, %s", message, Integer.valueOf(number), event); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/graph/GraphAdapterBuilder.java b/FtcRobotController/base/sources/com/google/gson/graph/GraphAdapterBuilder.java new file mode 100644 index 000000000000..4bbe0c1c3be8 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/graph/GraphAdapterBuilder.java @@ -0,0 +1,212 @@ +package com.google.gson.graph; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.InstanceCreator; +import com.google.gson.JsonElement; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.internal.ConstructorConstructor; +import com.google.gson.internal.ObjectConstructor; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.IdentityHashMap; +import java.util.LinkedList; +import java.util.Map; +import java.util.Queue; + +/* JADX INFO: loaded from: classes8.dex */ +public final class GraphAdapterBuilder { + private final Map> instanceCreators = new HashMap(); + private final ConstructorConstructor constructorConstructor = new ConstructorConstructor(this.instanceCreators); + + public GraphAdapterBuilder addType(Type type) { + final ObjectConstructor objectConstructor = this.constructorConstructor.get(TypeToken.get(type)); + return addType(type, new InstanceCreator() { // from class: com.google.gson.graph.GraphAdapterBuilder.1 + @Override // com.google.gson.InstanceCreator + public Object createInstance(Type type2) { + return objectConstructor.construct(); + } + }); + } + + public GraphAdapterBuilder addType(Type type, InstanceCreator instanceCreator) { + if (type == null || instanceCreator == null) { + throw new NullPointerException(); + } + this.instanceCreators.put(type, instanceCreator); + return this; + } + + public void registerOn(GsonBuilder gsonBuilder) { + Factory factory = new Factory(this.instanceCreators); + gsonBuilder.registerTypeAdapterFactory(factory); + for (Map.Entry> entry : this.instanceCreators.entrySet()) { + gsonBuilder.registerTypeAdapter(entry.getKey(), factory); + } + } + + static class Factory implements TypeAdapterFactory, InstanceCreator { + private final ThreadLocal graphThreadLocal = new ThreadLocal<>(); + private final Map> instanceCreators; + + Factory(Map> instanceCreators) { + this.instanceCreators = instanceCreators; + } + + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken type) { + if (!this.instanceCreators.containsKey(type.getType())) { + return null; + } + final TypeAdapter typeAdapter = gson.getDelegateAdapter(this, type); + final TypeAdapter adapter = gson.getAdapter(JsonElement.class); + return new TypeAdapter() { // from class: com.google.gson.graph.GraphAdapterBuilder.Factory.1 + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, T value) throws IOException { + if (value != null) { + Graph graph = (Graph) Factory.this.graphThreadLocal.get(); + boolean writeEntireGraph = false; + if (graph == null) { + writeEntireGraph = true; + graph = new Graph(new IdentityHashMap()); + } + Element element = (Element) graph.map.get(value); + if (element == null) { + element = new Element<>(value, graph.nextName(), typeAdapter, null); + graph.map.put(value, element); + graph.queue.add(element); + } + if (writeEntireGraph) { + Factory.this.graphThreadLocal.set(graph); + try { + out.beginObject(); + while (true) { + Element current = (Element) graph.queue.poll(); + if (current == null) { + out.endObject(); + return; + } else { + out.name(((Element) current).id); + current.write(out); + } + } + } finally { + Factory.this.graphThreadLocal.remove(); + } + } else { + out.value(((Element) element).id); + } + } else { + out.nullValue(); + } + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public T read2(JsonReader jsonReader) throws IOException { + if (jsonReader.peek() == JsonToken.NULL) { + jsonReader.nextNull(); + return null; + } + String strNextString = null; + Graph graph = (Graph) Factory.this.graphThreadLocal.get(); + boolean z = false; + if (graph == null) { + graph = new Graph(new HashMap()); + z = true; + jsonReader.beginObject(); + while (jsonReader.hasNext()) { + String strNextName = jsonReader.nextName(); + if (strNextString == null) { + strNextString = strNextName; + } + graph.map.put(strNextName, new Element(null, strNextName, typeAdapter, (JsonElement) adapter.read2(jsonReader))); + } + jsonReader.endObject(); + } else { + strNextString = jsonReader.nextString(); + } + if (z) { + Factory.this.graphThreadLocal.set(graph); + } + try { + Element element = (Element) graph.map.get(strNextString); + if (element.value == null) { + element.typeAdapter = typeAdapter; + element.read(graph); + } + return (T) element.value; + } finally { + if (z) { + Factory.this.graphThreadLocal.remove(); + } + } + } + }; + } + + @Override // com.google.gson.InstanceCreator + public Object createInstance(Type type) { + Graph graph = this.graphThreadLocal.get(); + if (graph == null || graph.nextCreate == null) { + throw new IllegalStateException("Unexpected call to createInstance() for " + type); + } + InstanceCreator creator = this.instanceCreators.get(type); + Object result = creator.createInstance(type); + graph.nextCreate.value = result; + graph.nextCreate = null; + return result; + } + } + + static class Graph { + private final Map> map; + private Element nextCreate; + private final Queue queue; + + private Graph(Map> map) { + this.queue = new LinkedList(); + this.map = map; + } + + public String nextName() { + return "0x" + Integer.toHexString(this.map.size() + 1); + } + } + + static class Element { + private final JsonElement element; + private final String id; + private TypeAdapter typeAdapter; + private T value; + + Element(T value, String id, TypeAdapter typeAdapter, JsonElement element) { + this.value = value; + this.id = id; + this.typeAdapter = typeAdapter; + this.element = element; + } + + void write(JsonWriter out) throws IOException { + this.typeAdapter.write(out, this.value); + } + + void read(Graph graph) throws IOException { + if (graph.nextCreate == null) { + graph.nextCreate = this; + this.value = this.typeAdapter.fromJsonTree(this.element); + if (this.value == null) { + throw new IllegalStateException("non-null value deserialized to null: " + this.element); + } + return; + } + throw new IllegalStateException("Unexpected recursive call to read() for " + this.id); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/interceptors/Intercept.java b/FtcRobotController/base/sources/com/google/gson/interceptors/Intercept.java new file mode 100644 index 000000000000..06db21d1a483 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/interceptors/Intercept.java @@ -0,0 +1,13 @@ +package com.google.gson.interceptors; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/* JADX INFO: loaded from: classes8.dex */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface Intercept { + Class postDeserialize(); +} diff --git a/FtcRobotController/base/sources/com/google/gson/interceptors/InterceptorFactory.java b/FtcRobotController/base/sources/com/google/gson/interceptors/InterceptorFactory.java new file mode 100644 index 000000000000..4018eaf15f70 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/interceptors/InterceptorFactory.java @@ -0,0 +1,49 @@ +package com.google.gson.interceptors; + +import com.google.gson.Gson; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +/* JADX INFO: loaded from: classes8.dex */ +public final class InterceptorFactory implements TypeAdapterFactory { + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken type) { + Intercept intercept = (Intercept) type.getRawType().getAnnotation(Intercept.class); + if (intercept == null) { + return null; + } + TypeAdapter delegate = gson.getDelegateAdapter(this, type); + return new InterceptorAdapter(delegate, intercept); + } + + static class InterceptorAdapter extends TypeAdapter { + private final TypeAdapter delegate; + private final JsonPostDeserializer postDeserializer; + + public InterceptorAdapter(TypeAdapter delegate, Intercept intercept) { + try { + this.delegate = delegate; + this.postDeserializer = intercept.postDeserialize().newInstance(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, T value) throws IOException { + this.delegate.write(out, value); + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public T read2(JsonReader in) throws IOException { + T result = this.delegate.read2(in); + this.postDeserializer.postDeserialize(result); + return result; + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/interceptors/JsonPostDeserializer.java b/FtcRobotController/base/sources/com/google/gson/interceptors/JsonPostDeserializer.java new file mode 100644 index 000000000000..4e0c69e40432 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/interceptors/JsonPostDeserializer.java @@ -0,0 +1,6 @@ +package com.google.gson.interceptors; + +/* JADX INFO: loaded from: classes8.dex */ +public interface JsonPostDeserializer { + void postDeserialize(T t); +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Preconditions.java b/FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Preconditions.java new file mode 100644 index 000000000000..4307fa927e37 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Preconditions.java @@ -0,0 +1,22 @@ +package com.google.gson.internal; + +/* JADX INFO: renamed from: com.google.gson.internal.$Gson$Preconditions, reason: invalid class name */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C$Gson$Preconditions { + private C$Gson$Preconditions() { + throw new UnsupportedOperationException(); + } + + public static T checkNotNull(T obj) { + if (obj == null) { + throw new NullPointerException(); + } + return obj; + } + + public static void checkArgument(boolean condition) { + if (!condition) { + throw new IllegalArgumentException(); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Types.java b/FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Types.java new file mode 100644 index 000000000000..e1b92013a043 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/C$Gson$Types.java @@ -0,0 +1,439 @@ +package com.google.gson.internal; + +import java.io.Serializable; +import java.lang.reflect.Array; +import java.lang.reflect.GenericArrayType; +import java.lang.reflect.GenericDeclaration; +import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.lang.reflect.TypeVariable; +import java.lang.reflect.WildcardType; +import java.util.Arrays; +import java.util.Collection; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Properties; + +/* JADX INFO: renamed from: com.google.gson.internal.$Gson$Types, reason: invalid class name */ +/* JADX INFO: loaded from: classes8.dex */ +public final class C$Gson$Types { + static final Type[] EMPTY_TYPE_ARRAY = new Type[0]; + + private C$Gson$Types() { + throw new UnsupportedOperationException(); + } + + public static ParameterizedType newParameterizedTypeWithOwner(Type ownerType, Type rawType, Type... typeArguments) { + return new ParameterizedTypeImpl(ownerType, rawType, typeArguments); + } + + public static GenericArrayType arrayOf(Type componentType) { + return new GenericArrayTypeImpl(componentType); + } + + public static WildcardType subtypeOf(Type bound) { + return new WildcardTypeImpl(new Type[]{bound}, EMPTY_TYPE_ARRAY); + } + + public static WildcardType supertypeOf(Type bound) { + return new WildcardTypeImpl(new Type[]{Object.class}, new Type[]{bound}); + } + + public static Type canonicalize(Type type) { + if (type instanceof Class) { + Class c = (Class) type; + return c.isArray() ? new GenericArrayTypeImpl(canonicalize(c.getComponentType())) : c; + } + if (type instanceof ParameterizedType) { + ParameterizedType p = (ParameterizedType) type; + return new ParameterizedTypeImpl(p.getOwnerType(), p.getRawType(), p.getActualTypeArguments()); + } + if (type instanceof GenericArrayType) { + GenericArrayType g = (GenericArrayType) type; + return new GenericArrayTypeImpl(g.getGenericComponentType()); + } + if (type instanceof WildcardType) { + WildcardType w = (WildcardType) type; + return new WildcardTypeImpl(w.getUpperBounds(), w.getLowerBounds()); + } + return type; + } + + public static Class getRawType(Type type) { + if (type instanceof Class) { + return (Class) type; + } + if (type instanceof ParameterizedType) { + ParameterizedType parameterizedType = (ParameterizedType) type; + Type rawType = parameterizedType.getRawType(); + C$Gson$Preconditions.checkArgument(rawType instanceof Class); + return (Class) rawType; + } + if (type instanceof GenericArrayType) { + Type componentType = ((GenericArrayType) type).getGenericComponentType(); + return Array.newInstance(getRawType(componentType), 0).getClass(); + } + if (type instanceof TypeVariable) { + return Object.class; + } + if (type instanceof WildcardType) { + return getRawType(((WildcardType) type).getUpperBounds()[0]); + } + String className = type == null ? "null" : type.getClass().getName(); + throw new IllegalArgumentException("Expected a Class, ParameterizedType, or GenericArrayType, but <" + type + "> is of type " + className); + } + + static boolean equal(Object a, Object b) { + return a == b || (a != null && a.equals(b)); + } + + public static boolean equals(Type a, Type b) { + if (a == b) { + return true; + } + if (a instanceof Class) { + return a.equals(b); + } + if (a instanceof ParameterizedType) { + if (!(b instanceof ParameterizedType)) { + return false; + } + ParameterizedType pa = (ParameterizedType) a; + ParameterizedType pb = (ParameterizedType) b; + return equal(pa.getOwnerType(), pb.getOwnerType()) && pa.getRawType().equals(pb.getRawType()) && Arrays.equals(pa.getActualTypeArguments(), pb.getActualTypeArguments()); + } + if (a instanceof GenericArrayType) { + if (!(b instanceof GenericArrayType)) { + return false; + } + GenericArrayType ga = (GenericArrayType) a; + GenericArrayType gb = (GenericArrayType) b; + return equals(ga.getGenericComponentType(), gb.getGenericComponentType()); + } + if (a instanceof WildcardType) { + if (!(b instanceof WildcardType)) { + return false; + } + WildcardType wa = (WildcardType) a; + WildcardType wb = (WildcardType) b; + return Arrays.equals(wa.getUpperBounds(), wb.getUpperBounds()) && Arrays.equals(wa.getLowerBounds(), wb.getLowerBounds()); + } + if (!(a instanceof TypeVariable) || !(b instanceof TypeVariable)) { + return false; + } + TypeVariable va = (TypeVariable) a; + TypeVariable vb = (TypeVariable) b; + return va.getGenericDeclaration() == vb.getGenericDeclaration() && va.getName().equals(vb.getName()); + } + + static int hashCodeOrZero(Object o) { + if (o != null) { + return o.hashCode(); + } + return 0; + } + + public static String typeToString(Type type) { + return type instanceof Class ? ((Class) type).getName() : type.toString(); + } + + static Type getGenericSupertype(Type context, Class rawType, Class toResolve) { + if (toResolve == rawType) { + return context; + } + if (toResolve.isInterface()) { + Class[] interfaces = rawType.getInterfaces(); + int length = interfaces.length; + for (int i = 0; i < length; i++) { + if (interfaces[i] == toResolve) { + return rawType.getGenericInterfaces()[i]; + } + if (toResolve.isAssignableFrom(interfaces[i])) { + return getGenericSupertype(rawType.getGenericInterfaces()[i], interfaces[i], toResolve); + } + } + } + if (!rawType.isInterface()) { + while (rawType != Object.class) { + Class rawSupertype = rawType.getSuperclass(); + if (rawSupertype == toResolve) { + return rawType.getGenericSuperclass(); + } + if (toResolve.isAssignableFrom(rawSupertype)) { + return getGenericSupertype(rawType.getGenericSuperclass(), rawSupertype, toResolve); + } + rawType = rawSupertype; + } + } + return toResolve; + } + + static Type getSupertype(Type context, Class contextRawType, Class supertype) { + C$Gson$Preconditions.checkArgument(supertype.isAssignableFrom(contextRawType)); + return resolve(context, contextRawType, getGenericSupertype(context, contextRawType, supertype)); + } + + public static Type getArrayComponentType(Type array) { + if (array instanceof GenericArrayType) { + return ((GenericArrayType) array).getGenericComponentType(); + } + return ((Class) array).getComponentType(); + } + + public static Type getCollectionElementType(Type context, Class contextRawType) { + Type collectionType = getSupertype(context, contextRawType, Collection.class); + if (collectionType instanceof WildcardType) { + collectionType = ((WildcardType) collectionType).getUpperBounds()[0]; + } + if (collectionType instanceof ParameterizedType) { + return ((ParameterizedType) collectionType).getActualTypeArguments()[0]; + } + return Object.class; + } + + public static Type[] getMapKeyAndValueTypes(Type context, Class contextRawType) { + if (context == Properties.class) { + return new Type[]{String.class, String.class}; + } + Type mapType = getSupertype(context, contextRawType, Map.class); + if (mapType instanceof ParameterizedType) { + ParameterizedType mapParameterizedType = (ParameterizedType) mapType; + return mapParameterizedType.getActualTypeArguments(); + } + return new Type[]{Object.class, Object.class}; + } + + public static Type resolve(Type context, Class contextRawType, Type toResolve) { + Type upperBound; + while (toResolve instanceof TypeVariable) { + TypeVariable typeVariable = (TypeVariable) toResolve; + toResolve = resolveTypeVariable(context, contextRawType, typeVariable); + if (toResolve == typeVariable) { + return toResolve; + } + } + if ((toResolve instanceof Class) && ((Class) toResolve).isArray()) { + Class original = (Class) toResolve; + Type componentType = original.getComponentType(); + Type newComponentType = resolve(context, contextRawType, componentType); + return componentType == newComponentType ? original : arrayOf(newComponentType); + } + if (toResolve instanceof GenericArrayType) { + GenericArrayType original2 = (GenericArrayType) toResolve; + Type componentType2 = original2.getGenericComponentType(); + Type newComponentType2 = resolve(context, contextRawType, componentType2); + return componentType2 == newComponentType2 ? original2 : arrayOf(newComponentType2); + } + if (toResolve instanceof ParameterizedType) { + ParameterizedType original3 = (ParameterizedType) toResolve; + Type ownerType = original3.getOwnerType(); + Type newOwnerType = resolve(context, contextRawType, ownerType); + boolean changed = newOwnerType != ownerType; + Type[] args = original3.getActualTypeArguments(); + int length = args.length; + for (int t = 0; t < length; t++) { + Type resolvedTypeArgument = resolve(context, contextRawType, args[t]); + if (resolvedTypeArgument != args[t]) { + if (!changed) { + args = (Type[]) args.clone(); + changed = true; + } + args[t] = resolvedTypeArgument; + } + } + return changed ? newParameterizedTypeWithOwner(newOwnerType, original3.getRawType(), args) : original3; + } + if (toResolve instanceof WildcardType) { + WildcardType original4 = (WildcardType) toResolve; + Type[] originalLowerBound = original4.getLowerBounds(); + Type[] originalUpperBound = original4.getUpperBounds(); + if (originalLowerBound.length == 1) { + Type lowerBound = resolve(context, contextRawType, originalLowerBound[0]); + if (lowerBound != originalLowerBound[0]) { + return supertypeOf(lowerBound); + } + } else if (originalUpperBound.length == 1 && (upperBound = resolve(context, contextRawType, originalUpperBound[0])) != originalUpperBound[0]) { + return subtypeOf(upperBound); + } + return original4; + } + return toResolve; + } + + static Type resolveTypeVariable(Type context, Class contextRawType, TypeVariable unknown) { + Class declaredByRaw = declaringClassOf(unknown); + if (declaredByRaw == null) { + return unknown; + } + Type declaredBy = getGenericSupertype(context, contextRawType, declaredByRaw); + if (declaredBy instanceof ParameterizedType) { + int index = indexOf(declaredByRaw.getTypeParameters(), unknown); + return ((ParameterizedType) declaredBy).getActualTypeArguments()[index]; + } + return unknown; + } + + private static int indexOf(Object[] array, Object toFind) { + for (int i = 0; i < array.length; i++) { + if (toFind.equals(array[i])) { + return i; + } + } + throw new NoSuchElementException(); + } + + private static Class declaringClassOf(TypeVariable typeVariable) { + GenericDeclaration genericDeclaration = typeVariable.getGenericDeclaration(); + if (genericDeclaration instanceof Class) { + return (Class) genericDeclaration; + } + return null; + } + + static void checkNotPrimitive(Type type) { + C$Gson$Preconditions.checkArgument(((type instanceof Class) && ((Class) type).isPrimitive()) ? false : true); + } + + /* JADX INFO: renamed from: com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl */ + /* JADX INFO: compiled from: $Gson$Types.java */ + private static final class ParameterizedTypeImpl implements ParameterizedType, Serializable { + private static final long serialVersionUID = 0; + private final Type ownerType; + private final Type rawType; + private final Type[] typeArguments; + + public ParameterizedTypeImpl(Type ownerType, Type rawType, Type... typeArguments) { + if (rawType instanceof Class) { + Class rawTypeAsClass = (Class) rawType; + boolean isStaticOrTopLevelClass = Modifier.isStatic(rawTypeAsClass.getModifiers()) || rawTypeAsClass.getEnclosingClass() == null; + C$Gson$Preconditions.checkArgument(ownerType != null || isStaticOrTopLevelClass); + } + this.ownerType = ownerType == null ? null : C$Gson$Types.canonicalize(ownerType); + this.rawType = C$Gson$Types.canonicalize(rawType); + this.typeArguments = (Type[]) typeArguments.clone(); + for (int t = 0; t < this.typeArguments.length; t++) { + C$Gson$Preconditions.checkNotNull(this.typeArguments[t]); + C$Gson$Types.checkNotPrimitive(this.typeArguments[t]); + this.typeArguments[t] = C$Gson$Types.canonicalize(this.typeArguments[t]); + } + } + + @Override // java.lang.reflect.ParameterizedType + public Type[] getActualTypeArguments() { + return (Type[]) this.typeArguments.clone(); + } + + @Override // java.lang.reflect.ParameterizedType + public Type getRawType() { + return this.rawType; + } + + @Override // java.lang.reflect.ParameterizedType + public Type getOwnerType() { + return this.ownerType; + } + + public boolean equals(Object other) { + return (other instanceof ParameterizedType) && C$Gson$Types.equals(this, (ParameterizedType) other); + } + + public int hashCode() { + return (Arrays.hashCode(this.typeArguments) ^ this.rawType.hashCode()) ^ C$Gson$Types.hashCodeOrZero(this.ownerType); + } + + public String toString() { + StringBuilder stringBuilder = new StringBuilder((this.typeArguments.length + 1) * 30); + stringBuilder.append(C$Gson$Types.typeToString(this.rawType)); + if (this.typeArguments.length == 0) { + return stringBuilder.toString(); + } + stringBuilder.append("<").append(C$Gson$Types.typeToString(this.typeArguments[0])); + for (int i = 1; i < this.typeArguments.length; i++) { + stringBuilder.append(", ").append(C$Gson$Types.typeToString(this.typeArguments[i])); + } + return stringBuilder.append(">").toString(); + } + } + + /* JADX INFO: renamed from: com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl */ + /* JADX INFO: compiled from: $Gson$Types.java */ + private static final class GenericArrayTypeImpl implements GenericArrayType, Serializable { + private static final long serialVersionUID = 0; + private final Type componentType; + + public GenericArrayTypeImpl(Type componentType) { + this.componentType = C$Gson$Types.canonicalize(componentType); + } + + @Override // java.lang.reflect.GenericArrayType + public Type getGenericComponentType() { + return this.componentType; + } + + public boolean equals(Object o) { + return (o instanceof GenericArrayType) && C$Gson$Types.equals(this, (GenericArrayType) o); + } + + public int hashCode() { + return this.componentType.hashCode(); + } + + public String toString() { + return C$Gson$Types.typeToString(this.componentType) + "[]"; + } + } + + /* JADX INFO: renamed from: com.google.gson.internal.$Gson$Types$WildcardTypeImpl */ + /* JADX INFO: compiled from: $Gson$Types.java */ + private static final class WildcardTypeImpl implements WildcardType, Serializable { + private static final long serialVersionUID = 0; + private final Type lowerBound; + private final Type upperBound; + + public WildcardTypeImpl(Type[] upperBounds, Type[] lowerBounds) { + C$Gson$Preconditions.checkArgument(lowerBounds.length <= 1); + C$Gson$Preconditions.checkArgument(upperBounds.length == 1); + if (lowerBounds.length == 1) { + C$Gson$Preconditions.checkNotNull(lowerBounds[0]); + C$Gson$Types.checkNotPrimitive(lowerBounds[0]); + C$Gson$Preconditions.checkArgument(upperBounds[0] == Object.class); + this.lowerBound = C$Gson$Types.canonicalize(lowerBounds[0]); + this.upperBound = Object.class; + return; + } + C$Gson$Preconditions.checkNotNull(upperBounds[0]); + C$Gson$Types.checkNotPrimitive(upperBounds[0]); + this.lowerBound = null; + this.upperBound = C$Gson$Types.canonicalize(upperBounds[0]); + } + + @Override // java.lang.reflect.WildcardType + public Type[] getUpperBounds() { + return new Type[]{this.upperBound}; + } + + @Override // java.lang.reflect.WildcardType + public Type[] getLowerBounds() { + return this.lowerBound != null ? new Type[]{this.lowerBound} : C$Gson$Types.EMPTY_TYPE_ARRAY; + } + + public boolean equals(Object other) { + return (other instanceof WildcardType) && C$Gson$Types.equals(this, (WildcardType) other); + } + + public int hashCode() { + return (this.lowerBound != null ? this.lowerBound.hashCode() + 31 : 1) ^ (this.upperBound.hashCode() + 31); + } + + public String toString() { + if (this.lowerBound != null) { + return "? super " + C$Gson$Types.typeToString(this.lowerBound); + } + if (this.upperBound == Object.class) { + return "?"; + } + return "? extends " + C$Gson$Types.typeToString(this.upperBound); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/ConstructorConstructor.java b/FtcRobotController/base/sources/com/google/gson/internal/ConstructorConstructor.java new file mode 100644 index 000000000000..fa9051dc0196 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/ConstructorConstructor.java @@ -0,0 +1,202 @@ +package com.google.gson.internal; + +import com.google.gson.InstanceCreator; +import com.google.gson.JsonIOException; +import com.google.gson.reflect.TypeToken; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collection; +import java.util.EnumSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Queue; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ConcurrentNavigableMap; +import java.util.concurrent.ConcurrentSkipListMap; + +/* JADX INFO: loaded from: classes8.dex */ +public final class ConstructorConstructor { + private final Map> instanceCreators; + + public ConstructorConstructor(Map> instanceCreators) { + this.instanceCreators = instanceCreators; + } + + public ObjectConstructor get(TypeToken typeToken) { + final Type type = typeToken.getType(); + Class rawType = typeToken.getRawType(); + final InstanceCreator instanceCreator = this.instanceCreators.get(type); + if (instanceCreator != null) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.1 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) instanceCreator.createInstance(type); + } + }; + } + final InstanceCreator instanceCreator2 = this.instanceCreators.get(rawType); + if (instanceCreator2 != null) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.2 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) instanceCreator2.createInstance(type); + } + }; + } + ObjectConstructor defaultConstructor = newDefaultConstructor(rawType); + if (defaultConstructor != null) { + return defaultConstructor; + } + ObjectConstructor defaultImplementation = newDefaultImplementationConstructor(type, rawType); + if (defaultImplementation != null) { + return defaultImplementation; + } + return newUnsafeAllocator(type, rawType); + } + + private ObjectConstructor newDefaultConstructor(Class rawType) { + try { + final Constructor constructor = rawType.getDeclaredConstructor(new Class[0]); + if (!constructor.isAccessible()) { + constructor.setAccessible(true); + } + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.3 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + try { + return (T) constructor.newInstance(null); + } catch (IllegalAccessException e) { + throw new AssertionError(e); + } catch (InstantiationException e2) { + throw new RuntimeException("Failed to invoke " + constructor + " with no args", e2); + } catch (InvocationTargetException e3) { + throw new RuntimeException("Failed to invoke " + constructor + " with no args", e3.getTargetException()); + } + } + }; + } catch (NoSuchMethodException e) { + return null; + } + } + + private ObjectConstructor newDefaultImplementationConstructor(final Type type, Class rawType) { + if (Collection.class.isAssignableFrom(rawType)) { + if (SortedSet.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.4 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new TreeSet(); + } + }; + } + if (EnumSet.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.5 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + if (type instanceof ParameterizedType) { + Type type2 = ((ParameterizedType) type).getActualTypeArguments()[0]; + if (type2 instanceof Class) { + return (T) EnumSet.noneOf((Class) type2); + } + throw new JsonIOException("Invalid EnumSet type: " + type.toString()); + } + throw new JsonIOException("Invalid EnumSet type: " + type.toString()); + } + }; + } + if (Set.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.6 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new LinkedHashSet(); + } + }; + } + if (Queue.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.7 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new ArrayDeque(); + } + }; + } + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.8 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new ArrayList(); + } + }; + } + if (Map.class.isAssignableFrom(rawType)) { + if (ConcurrentNavigableMap.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.9 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new ConcurrentSkipListMap(); + } + }; + } + if (ConcurrentMap.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.10 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new ConcurrentHashMap(); + } + }; + } + if (SortedMap.class.isAssignableFrom(rawType)) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.11 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new TreeMap(); + } + }; + } + if ((type instanceof ParameterizedType) && !String.class.isAssignableFrom(TypeToken.get(((ParameterizedType) type).getActualTypeArguments()[0]).getRawType())) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.12 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new LinkedHashMap(); + } + }; + } + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.13 + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + return (T) new LinkedTreeMap(); + } + }; + } + return null; + } + + private ObjectConstructor newUnsafeAllocator(final Type type, final Class rawType) { + return new ObjectConstructor() { // from class: com.google.gson.internal.ConstructorConstructor.14 + private final UnsafeAllocator unsafeAllocator = UnsafeAllocator.create(); + + @Override // com.google.gson.internal.ObjectConstructor + public T construct() { + try { + return (T) this.unsafeAllocator.newInstance(rawType); + } catch (Exception e) { + throw new RuntimeException("Unable to invoke no-args constructor for " + type + ". Register an InstanceCreator with Gson for this type may fix this problem.", e); + } + } + }; + } + + public String toString() { + return this.instanceCreators.toString(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/Excluder.java b/FtcRobotController/base/sources/com/google/gson/internal/Excluder.java new file mode 100644 index 000000000000..f7896a21e34c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/Excluder.java @@ -0,0 +1,203 @@ +package com.google.gson.internal; + +import com.google.gson.ExclusionStrategy; +import com.google.gson.FieldAttributes; +import com.google.gson.Gson; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.Since; +import com.google.gson.annotations.Until; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/* JADX INFO: loaded from: classes8.dex */ +public final class Excluder implements TypeAdapterFactory, Cloneable { + public static final Excluder DEFAULT = new Excluder(); + private static final double IGNORE_VERSIONS = -1.0d; + private boolean requireExpose; + private double version = -1.0d; + private int modifiers = 136; + private boolean serializeInnerClasses = true; + private List serializationStrategies = Collections.emptyList(); + private List deserializationStrategies = Collections.emptyList(); + + /* JADX INFO: Access modifiers changed from: protected */ + /* JADX INFO: renamed from: clone, reason: merged with bridge method [inline-methods] */ + public Excluder m135clone() { + try { + return (Excluder) super.clone(); + } catch (CloneNotSupportedException e) { + throw new AssertionError(e); + } + } + + public Excluder withVersion(double ignoreVersionsAfter) { + Excluder result = m135clone(); + result.version = ignoreVersionsAfter; + return result; + } + + public Excluder withModifiers(int... modifiers) { + Excluder result = m135clone(); + result.modifiers = 0; + for (int modifier : modifiers) { + result.modifiers |= modifier; + } + return result; + } + + public Excluder disableInnerClassSerialization() { + Excluder result = m135clone(); + result.serializeInnerClasses = false; + return result; + } + + public Excluder excludeFieldsWithoutExposeAnnotation() { + Excluder result = m135clone(); + result.requireExpose = true; + return result; + } + + public Excluder withExclusionStrategy(ExclusionStrategy exclusionStrategy, boolean serialization, boolean deserialization) { + Excluder result = m135clone(); + if (serialization) { + result.serializationStrategies = new ArrayList(this.serializationStrategies); + result.serializationStrategies.add(exclusionStrategy); + } + if (deserialization) { + result.deserializationStrategies = new ArrayList(this.deserializationStrategies); + result.deserializationStrategies.add(exclusionStrategy); + } + return result; + } + + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(final Gson gson, final TypeToken type) { + Class rawType = type.getRawType(); + final boolean skipSerialize = excludeClass(rawType, true); + final boolean skipDeserialize = excludeClass(rawType, false); + if (!skipSerialize && !skipDeserialize) { + return null; + } + return new TypeAdapter() { // from class: com.google.gson.internal.Excluder.1 + private TypeAdapter delegate; + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public T read2(JsonReader in) throws IOException { + if (skipDeserialize) { + in.skipValue(); + return null; + } + return delegate().read2(in); + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, T value) throws IOException { + if (skipSerialize) { + out.nullValue(); + } else { + delegate().write(out, value); + } + } + + private TypeAdapter delegate() { + TypeAdapter d = this.delegate; + if (d != null) { + return d; + } + TypeAdapter delegateAdapter = gson.getDelegateAdapter(Excluder.this, type); + this.delegate = delegateAdapter; + return delegateAdapter; + } + }; + } + + public boolean excludeField(Field field, boolean serialize) { + Expose annotation; + if ((this.modifiers & field.getModifiers()) != 0) { + return true; + } + if ((this.version != -1.0d && !isValidVersion((Since) field.getAnnotation(Since.class), (Until) field.getAnnotation(Until.class))) || field.isSynthetic()) { + return true; + } + if (this.requireExpose && ((annotation = (Expose) field.getAnnotation(Expose.class)) == null || (!serialize ? annotation.deserialize() : annotation.serialize()))) { + return true; + } + if ((!this.serializeInnerClasses && isInnerClass(field.getType())) || isAnonymousOrLocal(field.getType())) { + return true; + } + List list = serialize ? this.serializationStrategies : this.deserializationStrategies; + if (!list.isEmpty()) { + FieldAttributes fieldAttributes = new FieldAttributes(field); + for (ExclusionStrategy exclusionStrategy : list) { + if (exclusionStrategy.shouldSkipField(fieldAttributes)) { + return true; + } + } + return false; + } + return false; + } + + public boolean excludeClass(Class clazz, boolean serialize) { + if (this.version != -1.0d && !isValidVersion((Since) clazz.getAnnotation(Since.class), (Until) clazz.getAnnotation(Until.class))) { + return true; + } + if ((!this.serializeInnerClasses && isInnerClass(clazz)) || isAnonymousOrLocal(clazz)) { + return true; + } + List list = serialize ? this.serializationStrategies : this.deserializationStrategies; + for (ExclusionStrategy exclusionStrategy : list) { + if (exclusionStrategy.shouldSkipClass(clazz)) { + return true; + } + } + return false; + } + + private boolean isAnonymousOrLocal(Class clazz) { + return !Enum.class.isAssignableFrom(clazz) && (clazz.isAnonymousClass() || clazz.isLocalClass()); + } + + private boolean isInnerClass(Class clazz) { + return clazz.isMemberClass() && !isStatic(clazz); + } + + private boolean isStatic(Class clazz) { + return (clazz.getModifiers() & 8) != 0; + } + + private boolean isValidVersion(Since since, Until until) { + return isValidSince(since) && isValidUntil(until); + } + + private boolean isValidSince(Since annotation) { + if (annotation != null) { + double annotationVersion = annotation.value(); + if (annotationVersion > this.version) { + return false; + } + return true; + } + return true; + } + + private boolean isValidUntil(Until annotation) { + if (annotation != null) { + double annotationVersion = annotation.value(); + if (annotationVersion <= this.version) { + return false; + } + return true; + } + return true; + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/JsonReaderInternalAccess.java b/FtcRobotController/base/sources/com/google/gson/internal/JsonReaderInternalAccess.java new file mode 100644 index 000000000000..f7c33c475697 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/JsonReaderInternalAccess.java @@ -0,0 +1,11 @@ +package com.google.gson.internal; + +import com.google.gson.stream.JsonReader; +import java.io.IOException; + +/* JADX INFO: loaded from: classes8.dex */ +public abstract class JsonReaderInternalAccess { + public static JsonReaderInternalAccess INSTANCE; + + public abstract void promoteNameToValue(JsonReader jsonReader) throws IOException; +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/LazilyParsedNumber.java b/FtcRobotController/base/sources/com/google/gson/internal/LazilyParsedNumber.java new file mode 100644 index 000000000000..01cb4f16a048 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/LazilyParsedNumber.java @@ -0,0 +1,68 @@ +package com.google.gson.internal; + +import java.io.ObjectStreamException; +import java.math.BigDecimal; + +/* JADX INFO: loaded from: classes8.dex */ +public final class LazilyParsedNumber extends Number { + private final String value; + + public LazilyParsedNumber(String value) { + this.value = value; + } + + @Override // java.lang.Number + public int intValue() { + try { + return Integer.parseInt(this.value); + } catch (NumberFormatException e) { + try { + return (int) Long.parseLong(this.value); + } catch (NumberFormatException e2) { + return new BigDecimal(this.value).intValue(); + } + } + } + + @Override // java.lang.Number + public long longValue() { + try { + return Long.parseLong(this.value); + } catch (NumberFormatException e) { + return new BigDecimal(this.value).longValue(); + } + } + + @Override // java.lang.Number + public float floatValue() { + return Float.parseFloat(this.value); + } + + @Override // java.lang.Number + public double doubleValue() { + return Double.parseDouble(this.value); + } + + public String toString() { + return this.value; + } + + private Object writeReplace() throws ObjectStreamException { + return new BigDecimal(this.value); + } + + public int hashCode() { + return this.value.hashCode(); + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof LazilyParsedNumber)) { + return false; + } + LazilyParsedNumber other = (LazilyParsedNumber) obj; + return this.value == other.value || this.value.equals(other.value); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/LinkedHashTreeMap.java b/FtcRobotController/base/sources/com/google/gson/internal/LinkedHashTreeMap.java new file mode 100644 index 000000000000..b08b2531556c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/LinkedHashTreeMap.java @@ -0,0 +1,763 @@ +package com.google.gson.internal; + +import java.io.ObjectStreamException; +import java.io.Serializable; +import java.util.AbstractMap; +import java.util.AbstractSet; +import java.util.Arrays; +import java.util.Comparator; +import java.util.ConcurrentModificationException; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; + +/* JADX INFO: loaded from: classes8.dex */ +public final class LinkedHashTreeMap extends AbstractMap implements Serializable { + static final /* synthetic */ boolean $assertionsDisabled = false; + private static final Comparator NATURAL_ORDER = new Comparator() { // from class: com.google.gson.internal.LinkedHashTreeMap.1 + @Override // java.util.Comparator + public int compare(Comparable a, Comparable b) { + return a.compareTo(b); + } + }; + Comparator comparator; + private LinkedHashTreeMap.EntrySet entrySet; + final Node header; + private LinkedHashTreeMap.KeySet keySet; + int modCount; + int size; + Node[] table; + int threshold; + + public LinkedHashTreeMap() { + this(NATURAL_ORDER); + } + + public LinkedHashTreeMap(Comparator comparator) { + this.size = 0; + this.modCount = 0; + this.comparator = comparator != null ? comparator : NATURAL_ORDER; + this.header = new Node<>(); + this.table = new Node[16]; + this.threshold = (this.table.length / 2) + (this.table.length / 4); + } + + @Override // java.util.AbstractMap, java.util.Map + public int size() { + return this.size; + } + + @Override // java.util.AbstractMap, java.util.Map + public V get(Object key) { + Node node = findByObject(key); + if (node != null) { + return node.value; + } + return null; + } + + @Override // java.util.AbstractMap, java.util.Map + public boolean containsKey(Object key) { + return findByObject(key) != null; + } + + @Override // java.util.AbstractMap, java.util.Map + public V put(K key, V value) { + if (key == null) { + throw new NullPointerException("key == null"); + } + Node created = find(key, true); + V result = created.value; + created.value = value; + return result; + } + + @Override // java.util.AbstractMap, java.util.Map + public void clear() { + Arrays.fill(this.table, (Object) null); + this.size = 0; + this.modCount++; + Node header = this.header; + Node e = header.next; + while (e != header) { + Node next = e.next; + e.prev = null; + e.next = null; + e = next; + } + header.prev = header; + header.next = header; + } + + @Override // java.util.AbstractMap, java.util.Map + public V remove(Object key) { + Node node = removeInternalByKey(key); + if (node != null) { + return node.value; + } + return null; + } + + Node find(K k, boolean z) { + Node node; + int i; + Node node2; + int iCompare; + Comparator comparator = this.comparator; + Node[] nodeArr = this.table; + int iSecondaryHash = secondaryHash(k.hashCode()); + int length = iSecondaryHash & (nodeArr.length - 1); + Node node3 = nodeArr[length]; + if (node3 == null) { + node = node3; + i = 0; + } else { + Comparable comparable = comparator == NATURAL_ORDER ? (Comparable) k : null; + while (true) { + if (comparable != null) { + iCompare = comparable.compareTo(node3.key); + } else { + iCompare = comparator.compare(k, node3.key); + } + int i2 = iCompare; + if (i2 == 0) { + return node3; + } + Node node4 = i2 < 0 ? node3.left : node3.right; + if (node4 == null) { + node = node3; + i = i2; + break; + } + node3 = node4; + } + } + if (!z) { + return null; + } + Node node5 = this.header; + if (node == null) { + if (comparator == NATURAL_ORDER && !(k instanceof Comparable)) { + throw new ClassCastException(k.getClass().getName() + " is not Comparable"); + } + node2 = new Node<>(node, k, iSecondaryHash, node5, node5.prev); + nodeArr[length] = node2; + } else { + node2 = new Node<>(node, k, iSecondaryHash, node5, node5.prev); + if (i < 0) { + node.left = node2; + } else { + node.right = node2; + } + rebalance(node, true); + } + int i3 = this.size; + this.size = i3 + 1; + if (i3 > this.threshold) { + doubleCapacity(); + } + this.modCount++; + return node2; + } + + /* JADX WARN: Multi-variable type inference failed */ + Node findByObject(Object obj) { + if (obj != 0) { + try { + return find(obj, false); + } catch (ClassCastException e) { + return null; + } + } + return null; + } + + Node findByEntry(Map.Entry entry) { + Node mine = findByObject(entry.getKey()); + boolean valuesEqual = mine != null && equal(mine.value, entry.getValue()); + if (valuesEqual) { + return mine; + } + return null; + } + + private boolean equal(Object a, Object b) { + return a == b || (a != null && a.equals(b)); + } + + private static int secondaryHash(int h) { + int h2 = h ^ ((h >>> 20) ^ (h >>> 12)); + return ((h2 >>> 7) ^ h2) ^ (h2 >>> 4); + } + + void removeInternal(Node node, boolean unlink) { + if (unlink) { + node.prev.next = node.next; + node.next.prev = node.prev; + node.prev = null; + node.next = null; + } + Node left = node.left; + Node right = node.right; + Node originalParent = node.parent; + if (left != null && right != null) { + Node adjacent = left.height > right.height ? left.last() : right.first(); + removeInternal(adjacent, false); + int leftHeight = 0; + Node left2 = node.left; + if (left2 != null) { + leftHeight = left2.height; + adjacent.left = left2; + left2.parent = adjacent; + node.left = null; + } + int rightHeight = 0; + Node right2 = node.right; + if (right2 != null) { + rightHeight = right2.height; + adjacent.right = right2; + right2.parent = adjacent; + node.right = null; + } + adjacent.height = Math.max(leftHeight, rightHeight) + 1; + replaceInParent(node, adjacent); + return; + } + if (left != null) { + replaceInParent(node, left); + node.left = null; + } else if (right != null) { + replaceInParent(node, right); + node.right = null; + } else { + replaceInParent(node, null); + } + rebalance(originalParent, false); + this.size--; + this.modCount++; + } + + Node removeInternalByKey(Object key) { + Node node = findByObject(key); + if (node != null) { + removeInternal(node, true); + } + return node; + } + + private void replaceInParent(Node node, Node replacement) { + Node parent = node.parent; + node.parent = null; + if (replacement != null) { + replacement.parent = parent; + } + if (parent != null) { + if (parent.left == node) { + parent.left = replacement; + return; + } else { + if (parent.right != node) { + throw new AssertionError(); + } + parent.right = replacement; + return; + } + } + int index = node.hash & (this.table.length - 1); + this.table[index] = replacement; + } + + private void rebalance(Node unbalanced, boolean insert) { + int rightLeftHeight; + for (Node node = unbalanced; node != null; node = node.parent) { + Node left = node.left; + Node right = node.right; + int leftHeight = left != null ? left.height : 0; + int rightHeight = right != null ? right.height : 0; + int delta = leftHeight - rightHeight; + if (delta == -2) { + Node rightLeft = right.left; + Node rightRight = right.right; + int rightRightHeight = rightRight != null ? rightRight.height : 0; + rightLeftHeight = rightLeft != null ? rightLeft.height : 0; + int rightDelta = rightLeftHeight - rightRightHeight; + if (rightDelta == -1 || (rightDelta == 0 && !insert)) { + rotateLeft(node); + } else { + if (rightDelta != 1) { + throw new AssertionError(); + } + rotateRight(right); + rotateLeft(node); + } + if (insert) { + return; + } + } else if (delta == 2) { + Node leftLeft = left.left; + Node leftRight = left.right; + int leftRightHeight = leftRight != null ? leftRight.height : 0; + rightLeftHeight = leftLeft != null ? leftLeft.height : 0; + int leftDelta = rightLeftHeight - leftRightHeight; + if (leftDelta == 1 || (leftDelta == 0 && !insert)) { + rotateRight(node); + } else { + if (leftDelta != -1) { + throw new AssertionError(); + } + rotateLeft(left); + rotateRight(node); + } + if (insert) { + return; + } + } else if (delta == 0) { + node.height = leftHeight + 1; + if (insert) { + return; + } + } else { + if (delta != -1 && delta != 1) { + throw new AssertionError(); + } + node.height = Math.max(leftHeight, rightHeight) + 1; + if (!insert) { + return; + } + } + } + } + + private void rotateLeft(Node root) { + Node left = root.left; + Node pivot = root.right; + Node pivotLeft = pivot.left; + Node pivotRight = pivot.right; + root.right = pivotLeft; + if (pivotLeft != null) { + pivotLeft.parent = root; + } + replaceInParent(root, pivot); + pivot.left = root; + root.parent = pivot; + root.height = Math.max(left != null ? left.height : 0, pivotLeft != null ? pivotLeft.height : 0) + 1; + pivot.height = Math.max(root.height, pivotRight != null ? pivotRight.height : 0) + 1; + } + + private void rotateRight(Node root) { + Node pivot = root.left; + Node right = root.right; + Node pivotLeft = pivot.left; + Node pivotRight = pivot.right; + root.left = pivotRight; + if (pivotRight != null) { + pivotRight.parent = root; + } + replaceInParent(root, pivot); + pivot.right = root; + root.parent = pivot; + root.height = Math.max(right != null ? right.height : 0, pivotRight != null ? pivotRight.height : 0) + 1; + pivot.height = Math.max(root.height, pivotLeft != null ? pivotLeft.height : 0) + 1; + } + + @Override // java.util.AbstractMap, java.util.Map + public Set> entrySet() { + LinkedHashTreeMap.EntrySet result = this.entrySet; + if (result != null) { + return result; + } + LinkedHashTreeMap.EntrySet entrySet = new EntrySet(); + this.entrySet = entrySet; + return entrySet; + } + + @Override // java.util.AbstractMap, java.util.Map + public Set keySet() { + LinkedHashTreeMap.KeySet result = this.keySet; + if (result != null) { + return result; + } + LinkedHashTreeMap.KeySet keySet = new KeySet(); + this.keySet = keySet; + return keySet; + } + + static final class Node implements Map.Entry { + final int hash; + int height; + final K key; + Node left; + Node next; + Node parent; + Node prev; + Node right; + V value; + + Node() { + this.key = null; + this.hash = -1; + this.prev = this; + this.next = this; + } + + Node(Node parent, K key, int hash, Node next, Node prev) { + this.parent = parent; + this.key = key; + this.hash = hash; + this.height = 1; + this.next = next; + this.prev = prev; + prev.next = this; + next.prev = this; + } + + @Override // java.util.Map.Entry + public K getKey() { + return this.key; + } + + @Override // java.util.Map.Entry + public V getValue() { + return this.value; + } + + @Override // java.util.Map.Entry + public V setValue(V value) { + V oldValue = this.value; + this.value = value; + return oldValue; + } + + @Override // java.util.Map.Entry + public boolean equals(Object o) { + if (!(o instanceof Map.Entry)) { + return false; + } + Map.Entry other = (Map.Entry) o; + if (this.key == null) { + if (other.getKey() != null) { + return false; + } + } else if (!this.key.equals(other.getKey())) { + return false; + } + if (this.value == null) { + if (other.getValue() != null) { + return false; + } + } else if (!this.value.equals(other.getValue())) { + return false; + } + return true; + } + + @Override // java.util.Map.Entry + public int hashCode() { + return (this.key == null ? 0 : this.key.hashCode()) ^ (this.value != null ? this.value.hashCode() : 0); + } + + public String toString() { + return this.key + "=" + this.value; + } + + public Node first() { + Node node = this; + Node child = node.left; + while (child != null) { + node = child; + child = node.left; + } + return node; + } + + public Node last() { + Node node = this; + Node child = node.right; + while (child != null) { + node = child; + child = node.right; + } + return node; + } + } + + private void doubleCapacity() { + this.table = doubleCapacity(this.table); + this.threshold = (this.table.length / 2) + (this.table.length / 4); + } + + static Node[] doubleCapacity(Node[] oldTable) { + int oldCapacity = oldTable.length; + Node[] newTable = new Node[oldCapacity * 2]; + AvlIterator iterator = new AvlIterator<>(); + AvlBuilder leftBuilder = new AvlBuilder<>(); + AvlBuilder rightBuilder = new AvlBuilder<>(); + for (int i = 0; i < oldCapacity; i++) { + Node root = oldTable[i]; + if (root != null) { + iterator.reset(root); + int leftSize = 0; + int rightSize = 0; + while (true) { + Node node = iterator.next(); + if (node == null) { + break; + } + if ((node.hash & oldCapacity) == 0) { + leftSize++; + } else { + rightSize++; + } + } + leftBuilder.reset(leftSize); + rightBuilder.reset(rightSize); + iterator.reset(root); + while (true) { + Node node2 = iterator.next(); + if (node2 == null) { + break; + } + if ((node2.hash & oldCapacity) == 0) { + leftBuilder.add(node2); + } else { + rightBuilder.add(node2); + } + } + newTable[i] = leftSize > 0 ? leftBuilder.root() : null; + newTable[i + oldCapacity] = rightSize > 0 ? rightBuilder.root() : null; + } + } + return newTable; + } + + static class AvlIterator { + private Node stackTop; + + AvlIterator() { + } + + void reset(Node root) { + Node stackTop = null; + for (Node n = root; n != null; n = n.left) { + n.parent = stackTop; + stackTop = n; + } + this.stackTop = stackTop; + } + + public Node next() { + Node stackTop = this.stackTop; + if (stackTop == null) { + return null; + } + Node stackTop2 = stackTop.parent; + stackTop.parent = null; + for (Node n = stackTop.right; n != null; n = n.left) { + n.parent = stackTop2; + stackTop2 = n; + } + this.stackTop = stackTop2; + return stackTop; + } + } + + static final class AvlBuilder { + private int leavesSkipped; + private int leavesToSkip; + private int size; + private Node stack; + + AvlBuilder() { + } + + void reset(int targetSize) { + int treeCapacity = (Integer.highestOneBit(targetSize) * 2) - 1; + this.leavesToSkip = treeCapacity - targetSize; + this.size = 0; + this.leavesSkipped = 0; + this.stack = null; + } + + void add(Node node) { + node.right = null; + node.parent = null; + node.left = null; + node.height = 1; + if (this.leavesToSkip > 0 && (this.size & 1) == 0) { + this.size++; + this.leavesToSkip--; + this.leavesSkipped++; + } + node.parent = this.stack; + this.stack = node; + this.size++; + if (this.leavesToSkip > 0 && (this.size & 1) == 0) { + this.size++; + this.leavesToSkip--; + this.leavesSkipped++; + } + for (int scale = 4; (this.size & (scale - 1)) == scale - 1; scale *= 2) { + if (this.leavesSkipped != 0) { + if (this.leavesSkipped == 1) { + Node right = this.stack; + Node center = right.parent; + this.stack = center; + center.right = right; + center.height = right.height + 1; + right.parent = center; + this.leavesSkipped = 0; + } else if (this.leavesSkipped == 2) { + this.leavesSkipped = 0; + } + } else { + Node right2 = this.stack; + Node center2 = right2.parent; + Node left = center2.parent; + center2.parent = left.parent; + this.stack = center2; + center2.left = left; + center2.right = right2; + center2.height = right2.height + 1; + left.parent = center2; + right2.parent = center2; + } + } + } + + Node root() { + Node stackTop = this.stack; + if (stackTop.parent != null) { + throw new IllegalStateException(); + } + return stackTop; + } + } + + private abstract class LinkedTreeMapIterator implements Iterator { + int expectedModCount; + Node lastReturned = null; + Node next; + + LinkedTreeMapIterator() { + this.next = LinkedHashTreeMap.this.header.next; + this.expectedModCount = LinkedHashTreeMap.this.modCount; + } + + @Override // java.util.Iterator + public final boolean hasNext() { + return this.next != LinkedHashTreeMap.this.header; + } + + final Node nextNode() { + Node e = this.next; + if (e == LinkedHashTreeMap.this.header) { + throw new NoSuchElementException(); + } + if (LinkedHashTreeMap.this.modCount != this.expectedModCount) { + throw new ConcurrentModificationException(); + } + this.next = e.next; + this.lastReturned = e; + return e; + } + + @Override // java.util.Iterator + public final void remove() { + if (this.lastReturned == null) { + throw new IllegalStateException(); + } + LinkedHashTreeMap.this.removeInternal(this.lastReturned, true); + this.lastReturned = null; + this.expectedModCount = LinkedHashTreeMap.this.modCount; + } + } + + final class EntrySet extends AbstractSet> { + EntrySet() { + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public int size() { + return LinkedHashTreeMap.this.size; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set + public Iterator> iterator() { + return new LinkedHashTreeMap.LinkedTreeMapIterator>() { // from class: com.google.gson.internal.LinkedHashTreeMap.EntrySet.1 + { + LinkedHashTreeMap linkedHashTreeMap = LinkedHashTreeMap.this; + } + + @Override // java.util.Iterator + public Map.Entry next() { + return nextNode(); + } + }; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean contains(Object o) { + return (o instanceof Map.Entry) && LinkedHashTreeMap.this.findByEntry((Map.Entry) o) != null; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean remove(Object o) { + Node node; + if (!(o instanceof Map.Entry) || (node = LinkedHashTreeMap.this.findByEntry((Map.Entry) o)) == null) { + return false; + } + LinkedHashTreeMap.this.removeInternal(node, true); + return true; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public void clear() { + LinkedHashTreeMap.this.clear(); + } + } + + final class KeySet extends AbstractSet { + KeySet() { + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public int size() { + return LinkedHashTreeMap.this.size; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set + public Iterator iterator() { + return new LinkedHashTreeMap.LinkedTreeMapIterator() { // from class: com.google.gson.internal.LinkedHashTreeMap.KeySet.1 + { + LinkedHashTreeMap linkedHashTreeMap = LinkedHashTreeMap.this; + } + + @Override // java.util.Iterator + public K next() { + return nextNode().key; + } + }; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean contains(Object o) { + return LinkedHashTreeMap.this.containsKey(o); + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean remove(Object key) { + return LinkedHashTreeMap.this.removeInternalByKey(key) != null; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public void clear() { + LinkedHashTreeMap.this.clear(); + } + } + + private Object writeReplace() throws ObjectStreamException { + return new LinkedHashMap(this); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/LinkedTreeMap.java b/FtcRobotController/base/sources/com/google/gson/internal/LinkedTreeMap.java new file mode 100644 index 000000000000..5b4a5db5e37a --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/LinkedTreeMap.java @@ -0,0 +1,576 @@ +package com.google.gson.internal; + +import java.io.ObjectStreamException; +import java.io.Serializable; +import java.util.AbstractMap; +import java.util.AbstractSet; +import java.util.Comparator; +import java.util.ConcurrentModificationException; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; + +/* JADX INFO: loaded from: classes8.dex */ +public final class LinkedTreeMap extends AbstractMap implements Serializable { + static final /* synthetic */ boolean $assertionsDisabled = false; + private static final Comparator NATURAL_ORDER = new Comparator() { // from class: com.google.gson.internal.LinkedTreeMap.1 + @Override // java.util.Comparator + public int compare(Comparable a, Comparable b) { + return a.compareTo(b); + } + }; + Comparator comparator; + private LinkedTreeMap.EntrySet entrySet; + final Node header; + private LinkedTreeMap.KeySet keySet; + int modCount; + Node root; + int size; + + public LinkedTreeMap() { + this(NATURAL_ORDER); + } + + public LinkedTreeMap(Comparator comparator) { + this.size = 0; + this.modCount = 0; + this.header = new Node<>(); + this.comparator = comparator != null ? comparator : NATURAL_ORDER; + } + + @Override // java.util.AbstractMap, java.util.Map + public int size() { + return this.size; + } + + @Override // java.util.AbstractMap, java.util.Map + public V get(Object key) { + Node node = findByObject(key); + if (node != null) { + return node.value; + } + return null; + } + + @Override // java.util.AbstractMap, java.util.Map + public boolean containsKey(Object key) { + return findByObject(key) != null; + } + + @Override // java.util.AbstractMap, java.util.Map + public V put(K key, V value) { + if (key == null) { + throw new NullPointerException("key == null"); + } + Node created = find(key, true); + V result = created.value; + created.value = value; + return result; + } + + @Override // java.util.AbstractMap, java.util.Map + public void clear() { + this.root = null; + this.size = 0; + this.modCount++; + Node header = this.header; + header.prev = header; + header.next = header; + } + + @Override // java.util.AbstractMap, java.util.Map + public V remove(Object key) { + Node node = removeInternalByKey(key); + if (node != null) { + return node.value; + } + return null; + } + + Node find(K k, boolean z) { + Node node; + int iCompare; + Comparator comparator = this.comparator; + Node node2 = this.root; + int i = 0; + if (node2 != null) { + Comparable comparable = comparator == NATURAL_ORDER ? (Comparable) k : null; + while (true) { + if (comparable != null) { + iCompare = comparable.compareTo(node2.key); + } else { + iCompare = comparator.compare(k, node2.key); + } + i = iCompare; + if (i == 0) { + return node2; + } + Node node3 = i < 0 ? node2.left : node2.right; + if (node3 == null) { + break; + } + node2 = node3; + } + } + if (!z) { + return null; + } + Node node4 = this.header; + if (node2 == null) { + if (comparator == NATURAL_ORDER && !(k instanceof Comparable)) { + throw new ClassCastException(k.getClass().getName() + " is not Comparable"); + } + node = new Node<>(node2, k, node4, node4.prev); + this.root = node; + } else { + node = new Node<>(node2, k, node4, node4.prev); + if (i < 0) { + node2.left = node; + } else { + node2.right = node; + } + rebalance(node2, true); + } + this.size++; + this.modCount++; + return node; + } + + /* JADX WARN: Multi-variable type inference failed */ + Node findByObject(Object obj) { + if (obj != 0) { + try { + return find(obj, false); + } catch (ClassCastException e) { + return null; + } + } + return null; + } + + Node findByEntry(Map.Entry entry) { + Node mine = findByObject(entry.getKey()); + boolean valuesEqual = mine != null && equal(mine.value, entry.getValue()); + if (valuesEqual) { + return mine; + } + return null; + } + + private boolean equal(Object a, Object b) { + return a == b || (a != null && a.equals(b)); + } + + void removeInternal(Node node, boolean unlink) { + if (unlink) { + node.prev.next = node.next; + node.next.prev = node.prev; + } + Node left = node.left; + Node right = node.right; + Node originalParent = node.parent; + if (left != null && right != null) { + Node adjacent = left.height > right.height ? left.last() : right.first(); + removeInternal(adjacent, false); + int leftHeight = 0; + Node left2 = node.left; + if (left2 != null) { + leftHeight = left2.height; + adjacent.left = left2; + left2.parent = adjacent; + node.left = null; + } + int rightHeight = 0; + Node right2 = node.right; + if (right2 != null) { + rightHeight = right2.height; + adjacent.right = right2; + right2.parent = adjacent; + node.right = null; + } + adjacent.height = Math.max(leftHeight, rightHeight) + 1; + replaceInParent(node, adjacent); + return; + } + if (left != null) { + replaceInParent(node, left); + node.left = null; + } else if (right != null) { + replaceInParent(node, right); + node.right = null; + } else { + replaceInParent(node, null); + } + rebalance(originalParent, false); + this.size--; + this.modCount++; + } + + Node removeInternalByKey(Object key) { + Node node = findByObject(key); + if (node != null) { + removeInternal(node, true); + } + return node; + } + + private void replaceInParent(Node node, Node replacement) { + Node parent = node.parent; + node.parent = null; + if (replacement != null) { + replacement.parent = parent; + } + if (parent != null) { + if (parent.left == node) { + parent.left = replacement; + return; + } else { + if (parent.right != node) { + throw new AssertionError(); + } + parent.right = replacement; + return; + } + } + this.root = replacement; + } + + private void rebalance(Node unbalanced, boolean insert) { + int rightLeftHeight; + for (Node node = unbalanced; node != null; node = node.parent) { + Node left = node.left; + Node right = node.right; + int leftHeight = left != null ? left.height : 0; + int rightHeight = right != null ? right.height : 0; + int delta = leftHeight - rightHeight; + if (delta == -2) { + Node rightLeft = right.left; + Node rightRight = right.right; + int rightRightHeight = rightRight != null ? rightRight.height : 0; + rightLeftHeight = rightLeft != null ? rightLeft.height : 0; + int rightDelta = rightLeftHeight - rightRightHeight; + if (rightDelta == -1 || (rightDelta == 0 && !insert)) { + rotateLeft(node); + } else { + if (rightDelta != 1) { + throw new AssertionError(); + } + rotateRight(right); + rotateLeft(node); + } + if (insert) { + return; + } + } else if (delta == 2) { + Node leftLeft = left.left; + Node leftRight = left.right; + int leftRightHeight = leftRight != null ? leftRight.height : 0; + rightLeftHeight = leftLeft != null ? leftLeft.height : 0; + int leftDelta = rightLeftHeight - leftRightHeight; + if (leftDelta == 1 || (leftDelta == 0 && !insert)) { + rotateRight(node); + } else { + if (leftDelta != -1) { + throw new AssertionError(); + } + rotateLeft(left); + rotateRight(node); + } + if (insert) { + return; + } + } else if (delta == 0) { + node.height = leftHeight + 1; + if (insert) { + return; + } + } else { + if (delta != -1 && delta != 1) { + throw new AssertionError(); + } + node.height = Math.max(leftHeight, rightHeight) + 1; + if (!insert) { + return; + } + } + } + } + + private void rotateLeft(Node root) { + Node left = root.left; + Node pivot = root.right; + Node pivotLeft = pivot.left; + Node pivotRight = pivot.right; + root.right = pivotLeft; + if (pivotLeft != null) { + pivotLeft.parent = root; + } + replaceInParent(root, pivot); + pivot.left = root; + root.parent = pivot; + root.height = Math.max(left != null ? left.height : 0, pivotLeft != null ? pivotLeft.height : 0) + 1; + pivot.height = Math.max(root.height, pivotRight != null ? pivotRight.height : 0) + 1; + } + + private void rotateRight(Node root) { + Node pivot = root.left; + Node right = root.right; + Node pivotLeft = pivot.left; + Node pivotRight = pivot.right; + root.left = pivotRight; + if (pivotRight != null) { + pivotRight.parent = root; + } + replaceInParent(root, pivot); + pivot.right = root; + root.parent = pivot; + root.height = Math.max(right != null ? right.height : 0, pivotRight != null ? pivotRight.height : 0) + 1; + pivot.height = Math.max(root.height, pivotLeft != null ? pivotLeft.height : 0) + 1; + } + + @Override // java.util.AbstractMap, java.util.Map + public Set> entrySet() { + LinkedTreeMap.EntrySet result = this.entrySet; + if (result != null) { + return result; + } + LinkedTreeMap.EntrySet entrySet = new EntrySet(); + this.entrySet = entrySet; + return entrySet; + } + + @Override // java.util.AbstractMap, java.util.Map + public Set keySet() { + LinkedTreeMap.KeySet result = this.keySet; + if (result != null) { + return result; + } + LinkedTreeMap.KeySet keySet = new KeySet(); + this.keySet = keySet; + return keySet; + } + + static final class Node implements Map.Entry { + int height; + final K key; + Node left; + Node next; + Node parent; + Node prev; + Node right; + V value; + + Node() { + this.key = null; + this.prev = this; + this.next = this; + } + + Node(Node parent, K key, Node next, Node prev) { + this.parent = parent; + this.key = key; + this.height = 1; + this.next = next; + this.prev = prev; + prev.next = this; + next.prev = this; + } + + @Override // java.util.Map.Entry + public K getKey() { + return this.key; + } + + @Override // java.util.Map.Entry + public V getValue() { + return this.value; + } + + @Override // java.util.Map.Entry + public V setValue(V value) { + V oldValue = this.value; + this.value = value; + return oldValue; + } + + @Override // java.util.Map.Entry + public boolean equals(Object o) { + if (!(o instanceof Map.Entry)) { + return false; + } + Map.Entry other = (Map.Entry) o; + if (this.key == null) { + if (other.getKey() != null) { + return false; + } + } else if (!this.key.equals(other.getKey())) { + return false; + } + if (this.value == null) { + if (other.getValue() != null) { + return false; + } + } else if (!this.value.equals(other.getValue())) { + return false; + } + return true; + } + + @Override // java.util.Map.Entry + public int hashCode() { + return (this.key == null ? 0 : this.key.hashCode()) ^ (this.value != null ? this.value.hashCode() : 0); + } + + public String toString() { + return this.key + "=" + this.value; + } + + public Node first() { + Node node = this; + Node child = node.left; + while (child != null) { + node = child; + child = node.left; + } + return node; + } + + public Node last() { + Node node = this; + Node child = node.right; + while (child != null) { + node = child; + child = node.right; + } + return node; + } + } + + private abstract class LinkedTreeMapIterator implements Iterator { + int expectedModCount; + Node lastReturned = null; + Node next; + + LinkedTreeMapIterator() { + this.next = LinkedTreeMap.this.header.next; + this.expectedModCount = LinkedTreeMap.this.modCount; + } + + @Override // java.util.Iterator + public final boolean hasNext() { + return this.next != LinkedTreeMap.this.header; + } + + final Node nextNode() { + Node e = this.next; + if (e == LinkedTreeMap.this.header) { + throw new NoSuchElementException(); + } + if (LinkedTreeMap.this.modCount != this.expectedModCount) { + throw new ConcurrentModificationException(); + } + this.next = e.next; + this.lastReturned = e; + return e; + } + + @Override // java.util.Iterator + public final void remove() { + if (this.lastReturned == null) { + throw new IllegalStateException(); + } + LinkedTreeMap.this.removeInternal(this.lastReturned, true); + this.lastReturned = null; + this.expectedModCount = LinkedTreeMap.this.modCount; + } + } + + class EntrySet extends AbstractSet> { + EntrySet() { + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public int size() { + return LinkedTreeMap.this.size; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set + public Iterator> iterator() { + return new LinkedTreeMap.LinkedTreeMapIterator>() { // from class: com.google.gson.internal.LinkedTreeMap.EntrySet.1 + { + LinkedTreeMap linkedTreeMap = LinkedTreeMap.this; + } + + @Override // java.util.Iterator + public Map.Entry next() { + return nextNode(); + } + }; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean contains(Object o) { + return (o instanceof Map.Entry) && LinkedTreeMap.this.findByEntry((Map.Entry) o) != null; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean remove(Object o) { + Node node; + if (!(o instanceof Map.Entry) || (node = LinkedTreeMap.this.findByEntry((Map.Entry) o)) == null) { + return false; + } + LinkedTreeMap.this.removeInternal(node, true); + return true; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public void clear() { + LinkedTreeMap.this.clear(); + } + } + + final class KeySet extends AbstractSet { + KeySet() { + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public int size() { + return LinkedTreeMap.this.size; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set + public Iterator iterator() { + return new LinkedTreeMap.LinkedTreeMapIterator() { // from class: com.google.gson.internal.LinkedTreeMap.KeySet.1 + { + LinkedTreeMap linkedTreeMap = LinkedTreeMap.this; + } + + @Override // java.util.Iterator + public K next() { + return nextNode().key; + } + }; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean contains(Object o) { + return LinkedTreeMap.this.containsKey(o); + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public boolean remove(Object key) { + return LinkedTreeMap.this.removeInternalByKey(key) != null; + } + + @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set + public void clear() { + LinkedTreeMap.this.clear(); + } + } + + private Object writeReplace() throws ObjectStreamException { + return new LinkedHashMap(this); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/ObjectConstructor.java b/FtcRobotController/base/sources/com/google/gson/internal/ObjectConstructor.java new file mode 100644 index 000000000000..211170bd714b --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/ObjectConstructor.java @@ -0,0 +1,6 @@ +package com.google.gson.internal; + +/* JADX INFO: loaded from: classes8.dex */ +public interface ObjectConstructor { + T construct(); +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/Primitives.java b/FtcRobotController/base/sources/com/google/gson/internal/Primitives.java new file mode 100644 index 000000000000..67cb0be24a38 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/Primitives.java @@ -0,0 +1,55 @@ +package com.google.gson.internal; + +import java.lang.reflect.Type; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public final class Primitives { + private static final Map, Class> PRIMITIVE_TO_WRAPPER_TYPE; + private static final Map, Class> WRAPPER_TO_PRIMITIVE_TYPE; + + private Primitives() { + throw new UnsupportedOperationException(); + } + + static { + Map, Class> primToWrap = new HashMap<>(16); + Map, Class> wrapToPrim = new HashMap<>(16); + add(primToWrap, wrapToPrim, Boolean.TYPE, Boolean.class); + add(primToWrap, wrapToPrim, Byte.TYPE, Byte.class); + add(primToWrap, wrapToPrim, Character.TYPE, Character.class); + add(primToWrap, wrapToPrim, Double.TYPE, Double.class); + add(primToWrap, wrapToPrim, Float.TYPE, Float.class); + add(primToWrap, wrapToPrim, Integer.TYPE, Integer.class); + add(primToWrap, wrapToPrim, Long.TYPE, Long.class); + add(primToWrap, wrapToPrim, Short.TYPE, Short.class); + add(primToWrap, wrapToPrim, Void.TYPE, Void.class); + PRIMITIVE_TO_WRAPPER_TYPE = Collections.unmodifiableMap(primToWrap); + WRAPPER_TO_PRIMITIVE_TYPE = Collections.unmodifiableMap(wrapToPrim); + } + + private static void add(Map, Class> forward, Map, Class> backward, Class key, Class value) { + forward.put(key, value); + backward.put(value, key); + } + + public static boolean isPrimitive(Type type) { + return PRIMITIVE_TO_WRAPPER_TYPE.containsKey(type); + } + + public static boolean isWrapperType(Type type) { + return WRAPPER_TO_PRIMITIVE_TYPE.containsKey(C$Gson$Preconditions.checkNotNull(type)); + } + + public static Class wrap(Class type) { + Class wrapped = (Class) PRIMITIVE_TO_WRAPPER_TYPE.get(C$Gson$Preconditions.checkNotNull(type)); + return wrapped == null ? type : wrapped; + } + + public static Class unwrap(Class type) { + Class unwrapped = (Class) WRAPPER_TO_PRIMITIVE_TYPE.get(C$Gson$Preconditions.checkNotNull(type)); + return unwrapped == null ? type : unwrapped; + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/Streams.java b/FtcRobotController/base/sources/com/google/gson/internal/Streams.java new file mode 100644 index 000000000000..e8a13364a9e9 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/Streams.java @@ -0,0 +1,99 @@ +package com.google.gson.internal; + +import com.google.gson.JsonElement; +import com.google.gson.JsonIOException; +import com.google.gson.JsonNull; +import com.google.gson.JsonParseException; +import com.google.gson.JsonSyntaxException; +import com.google.gson.internal.bind.TypeAdapters; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.google.gson.stream.MalformedJsonException; +import java.io.EOFException; +import java.io.IOException; +import java.io.Writer; + +/* JADX INFO: loaded from: classes8.dex */ +public final class Streams { + private Streams() { + throw new UnsupportedOperationException(); + } + + public static JsonElement parse(JsonReader reader) throws JsonParseException { + boolean isEmpty = true; + try { + reader.peek(); + isEmpty = false; + return TypeAdapters.JSON_ELEMENT.read2(reader); + } catch (MalformedJsonException e) { + throw new JsonSyntaxException(e); + } catch (EOFException e2) { + if (isEmpty) { + return JsonNull.INSTANCE; + } + throw new JsonSyntaxException(e2); + } catch (IOException e3) { + throw new JsonIOException(e3); + } catch (NumberFormatException e4) { + throw new JsonSyntaxException(e4); + } + } + + public static void write(JsonElement element, JsonWriter writer) throws IOException { + TypeAdapters.JSON_ELEMENT.write(writer, element); + } + + public static Writer writerForAppendable(Appendable appendable) { + return appendable instanceof Writer ? (Writer) appendable : new AppendableWriter(appendable); + } + + private static final class AppendableWriter extends Writer { + private final Appendable appendable; + private final CurrentWrite currentWrite = new CurrentWrite(); + + AppendableWriter(Appendable appendable) { + this.appendable = appendable; + } + + @Override // java.io.Writer + public void write(char[] chars, int offset, int length) throws IOException { + this.currentWrite.chars = chars; + this.appendable.append(this.currentWrite, offset, offset + length); + } + + @Override // java.io.Writer + public void write(int i) throws IOException { + this.appendable.append((char) i); + } + + @Override // java.io.Writer, java.io.Flushable + public void flush() { + } + + @Override // java.io.Writer, java.io.Closeable, java.lang.AutoCloseable + public void close() { + } + + static class CurrentWrite implements CharSequence { + char[] chars; + + CurrentWrite() { + } + + @Override // java.lang.CharSequence + public int length() { + return this.chars.length; + } + + @Override // java.lang.CharSequence + public char charAt(int i) { + return this.chars[i]; + } + + @Override // java.lang.CharSequence + public CharSequence subSequence(int start, int end) { + return new String(this.chars, start, end - start); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/UnsafeAllocator.java b/FtcRobotController/base/sources/com/google/gson/internal/UnsafeAllocator.java new file mode 100644 index 000000000000..14c7d4b7d678 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/UnsafeAllocator.java @@ -0,0 +1,74 @@ +package com.google.gson.internal; + +import java.io.ObjectInputStream; +import java.io.ObjectStreamClass; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; + +/* JADX INFO: loaded from: classes8.dex */ +public abstract class UnsafeAllocator { + public abstract T newInstance(Class cls) throws Exception; + + public static UnsafeAllocator create() { + try { + Class unsafeClass = Class.forName("sun.misc.Unsafe"); + Field f = unsafeClass.getDeclaredField("theUnsafe"); + f.setAccessible(true); + final Object unsafe = f.get(null); + final Method allocateInstance = unsafeClass.getMethod("allocateInstance", Class.class); + return new UnsafeAllocator() { // from class: com.google.gson.internal.UnsafeAllocator.1 + @Override // com.google.gson.internal.UnsafeAllocator + public T newInstance(Class cls) throws Exception { + UnsafeAllocator.assertInstantiable(cls); + return (T) allocateInstance.invoke(unsafe, cls); + } + }; + } catch (Exception e) { + try { + Method getConstructorId = ObjectStreamClass.class.getDeclaredMethod("getConstructorId", Class.class); + getConstructorId.setAccessible(true); + final int constructorId = ((Integer) getConstructorId.invoke(null, Object.class)).intValue(); + final Method newInstance = ObjectStreamClass.class.getDeclaredMethod("newInstance", Class.class, Integer.TYPE); + newInstance.setAccessible(true); + return new UnsafeAllocator() { // from class: com.google.gson.internal.UnsafeAllocator.2 + @Override // com.google.gson.internal.UnsafeAllocator + public T newInstance(Class cls) throws Exception { + UnsafeAllocator.assertInstantiable(cls); + return (T) newInstance.invoke(null, cls, Integer.valueOf(constructorId)); + } + }; + } catch (Exception e2) { + try { + final Method newInstance2 = ObjectInputStream.class.getDeclaredMethod("newInstance", Class.class, Class.class); + newInstance2.setAccessible(true); + return new UnsafeAllocator() { // from class: com.google.gson.internal.UnsafeAllocator.3 + @Override // com.google.gson.internal.UnsafeAllocator + public T newInstance(Class cls) throws Exception { + UnsafeAllocator.assertInstantiable(cls); + return (T) newInstance2.invoke(null, cls, Object.class); + } + }; + } catch (Exception e3) { + return new UnsafeAllocator() { // from class: com.google.gson.internal.UnsafeAllocator.4 + @Override // com.google.gson.internal.UnsafeAllocator + public T newInstance(Class c) { + throw new UnsupportedOperationException("Cannot allocate " + c); + } + }; + } + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public static void assertInstantiable(Class c) { + int modifiers = c.getModifiers(); + if (Modifier.isInterface(modifiers)) { + throw new UnsupportedOperationException("Interface can't be instantiated! Interface name: " + c.getName()); + } + if (Modifier.isAbstract(modifiers)) { + throw new UnsupportedOperationException("Abstract class can't be instantiated! Class name: " + c.getName()); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/ArrayTypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/ArrayTypeAdapter.java new file mode 100644 index 000000000000..7eb2b8f6369b --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/ArrayTypeAdapter.java @@ -0,0 +1,73 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.internal.C$Gson$Types; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.lang.reflect.Array; +import java.lang.reflect.GenericArrayType; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.List; + +/* JADX INFO: loaded from: classes8.dex */ +public final class ArrayTypeAdapter extends TypeAdapter { + public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { // from class: com.google.gson.internal.bind.ArrayTypeAdapter.1 + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken typeToken) { + Type type = typeToken.getType(); + if (!(type instanceof GenericArrayType) && (!(type instanceof Class) || !((Class) type).isArray())) { + return null; + } + Type componentType = C$Gson$Types.getArrayComponentType(type); + return new ArrayTypeAdapter(gson, gson.getAdapter(TypeToken.get(componentType)), C$Gson$Types.getRawType(componentType)); + } + }; + private final Class componentType; + private final TypeAdapter componentTypeAdapter; + + public ArrayTypeAdapter(Gson context, TypeAdapter componentTypeAdapter, Class componentType) { + this.componentTypeAdapter = new TypeAdapterRuntimeTypeWrapper(context, componentTypeAdapter, componentType); + this.componentType = componentType; + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public Object read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + List list = new ArrayList<>(); + in.beginArray(); + while (in.hasNext()) { + E instance = this.componentTypeAdapter.read2(in); + list.add(instance); + } + in.endArray(); + Object array = Array.newInstance((Class) this.componentType, list.size()); + for (int i = 0; i < list.size(); i++) { + Array.set(array, i, list.get(i)); + } + return array; + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter jsonWriter, Object obj) throws IOException { + if (obj == null) { + jsonWriter.nullValue(); + return; + } + jsonWriter.beginArray(); + int length = Array.getLength(obj); + for (int i = 0; i < length; i++) { + this.componentTypeAdapter.write(jsonWriter, (E) Array.get(obj, i)); + } + jsonWriter.endArray(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java new file mode 100644 index 000000000000..e36f9ed0be47 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java @@ -0,0 +1,78 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.internal.C$Gson$Types; +import com.google.gson.internal.ConstructorConstructor; +import com.google.gson.internal.ObjectConstructor; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.Collection; + +/* JADX INFO: loaded from: classes8.dex */ +public final class CollectionTypeAdapterFactory implements TypeAdapterFactory { + private final ConstructorConstructor constructorConstructor; + + public CollectionTypeAdapterFactory(ConstructorConstructor constructorConstructor) { + this.constructorConstructor = constructorConstructor; + } + + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken typeToken) { + Type type = typeToken.getType(); + Class rawType = typeToken.getRawType(); + if (!Collection.class.isAssignableFrom(rawType)) { + return null; + } + Type elementType = C$Gson$Types.getCollectionElementType(type, rawType); + TypeAdapter adapter = gson.getAdapter(TypeToken.get(elementType)); + ObjectConstructor constructor = this.constructorConstructor.get(typeToken); + TypeAdapter result = new Adapter<>(gson, elementType, adapter, constructor); + return result; + } + + private static final class Adapter extends TypeAdapter> { + private final ObjectConstructor> constructor; + private final TypeAdapter elementTypeAdapter; + + public Adapter(Gson context, Type elementType, TypeAdapter elementTypeAdapter, ObjectConstructor> constructor) { + this.elementTypeAdapter = new TypeAdapterRuntimeTypeWrapper(context, elementTypeAdapter, elementType); + this.constructor = constructor; + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public Collection read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + Collection collection = this.constructor.construct(); + in.beginArray(); + while (in.hasNext()) { + E instance = this.elementTypeAdapter.read2(in); + collection.add(instance); + } + in.endArray(); + return collection; + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, Collection collection) throws IOException { + if (collection == null) { + out.nullValue(); + return; + } + out.beginArray(); + for (E element : collection) { + this.elementTypeAdapter.write(out, element); + } + out.endArray(); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/DateTypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/DateTypeAdapter.java new file mode 100644 index 000000000000..a5a24b5300ca --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/DateTypeAdapter.java @@ -0,0 +1,68 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.internal.bind.util.ISO8601Utils; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.ParsePosition; +import java.util.Date; +import java.util.Locale; + +/* JADX INFO: loaded from: classes8.dex */ +public final class DateTypeAdapter extends TypeAdapter { + public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { // from class: com.google.gson.internal.bind.DateTypeAdapter.1 + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken typeToken) { + if (typeToken.getRawType() == Date.class) { + return new DateTypeAdapter(); + } + return null; + } + }; + private final DateFormat enUsFormat = DateFormat.getDateTimeInstance(2, 2, Locale.US); + private final DateFormat localFormat = DateFormat.getDateTimeInstance(2, 2); + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read, reason: avoid collision after fix types in other method */ + public Date read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + return deserializeToDate(in.nextString()); + } + + private synchronized Date deserializeToDate(String json) { + try { + } catch (ParseException e) { + try { + return this.enUsFormat.parse(json); + } catch (ParseException e2) { + try { + return ISO8601Utils.parse(json, new ParsePosition(0)); + } catch (ParseException e3) { + throw new JsonSyntaxException(json, e3); + } + } + } + return this.localFormat.parse(json); + } + + @Override // com.google.gson.TypeAdapter + public synchronized void write(JsonWriter out, Date value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + String dateFormatAsString = this.enUsFormat.format(value); + out.value(dateFormatAsString); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java new file mode 100644 index 000000000000..559b39db2046 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java @@ -0,0 +1,48 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonSerializer; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.internal.ConstructorConstructor; +import com.google.gson.reflect.TypeToken; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonAdapterAnnotationTypeAdapterFactory implements TypeAdapterFactory { + private final ConstructorConstructor constructorConstructor; + + public JsonAdapterAnnotationTypeAdapterFactory(ConstructorConstructor constructorConstructor) { + this.constructorConstructor = constructorConstructor; + } + + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken typeToken) { + JsonAdapter jsonAdapter = (JsonAdapter) typeToken.getRawType().getAnnotation(JsonAdapter.class); + if (jsonAdapter == null) { + return null; + } + return (TypeAdapter) getTypeAdapter(this.constructorConstructor, gson, typeToken, jsonAdapter); + } + + TypeAdapter getTypeAdapter(ConstructorConstructor constructorConstructor, Gson gson, TypeToken type, JsonAdapter annotation) { + TypeAdapter typeAdapter; + Object instance = constructorConstructor.get(TypeToken.get((Class) annotation.value())).construct(); + if (instance instanceof TypeAdapter) { + typeAdapter = (TypeAdapter) instance; + } else if (instance instanceof TypeAdapterFactory) { + typeAdapter = ((TypeAdapterFactory) instance).create(gson, type); + } else if ((instance instanceof JsonSerializer) || (instance instanceof JsonDeserializer)) { + JsonSerializer serializer = instance instanceof JsonSerializer ? (JsonSerializer) instance : null; + JsonDeserializer deserializer = instance instanceof JsonDeserializer ? (JsonDeserializer) instance : null; + typeAdapter = new TreeTypeAdapter<>(serializer, deserializer, gson, type, null); + } else { + throw new IllegalArgumentException("@JsonAdapter value must be TypeAdapter, TypeAdapterFactory, JsonSerializer or JsonDeserializer reference."); + } + if (typeAdapter != null && annotation.nullSafe()) { + return typeAdapter.nullSafe(); + } + return typeAdapter; + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeReader.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeReader.java new file mode 100644 index 000000000000..2a52c9deeef0 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeReader.java @@ -0,0 +1,332 @@ +package com.google.gson.internal.bind; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonNull; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import dk.sgjesse.r8api.DescriptorUtils; +import java.io.IOException; +import java.io.Reader; +import java.util.Iterator; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonTreeReader extends JsonReader { + private int[] pathIndices; + private String[] pathNames; + private Object[] stack; + private int stackSize; + private static final Reader UNREADABLE_READER = new Reader() { // from class: com.google.gson.internal.bind.JsonTreeReader.1 + @Override // java.io.Reader + public int read(char[] buffer, int offset, int count) throws IOException { + throw new AssertionError(); + } + + @Override // java.io.Reader, java.io.Closeable, java.lang.AutoCloseable + public void close() throws IOException { + throw new AssertionError(); + } + }; + private static final Object SENTINEL_CLOSED = new Object(); + + public JsonTreeReader(JsonElement element) { + super(UNREADABLE_READER); + this.stack = new Object[32]; + this.stackSize = 0; + this.pathNames = new String[32]; + this.pathIndices = new int[32]; + push(element); + } + + @Override // com.google.gson.stream.JsonReader + public void beginArray() throws IOException { + expect(JsonToken.BEGIN_ARRAY); + JsonArray array = (JsonArray) peekStack(); + push(array.iterator()); + this.pathIndices[this.stackSize - 1] = 0; + } + + @Override // com.google.gson.stream.JsonReader + public void endArray() throws IOException { + expect(JsonToken.END_ARRAY); + popStack(); + popStack(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + } + + @Override // com.google.gson.stream.JsonReader + public void beginObject() throws IOException { + expect(JsonToken.BEGIN_OBJECT); + JsonObject object = (JsonObject) peekStack(); + push(object.entrySet().iterator()); + } + + @Override // com.google.gson.stream.JsonReader + public void endObject() throws IOException { + expect(JsonToken.END_OBJECT); + popStack(); + popStack(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + } + + @Override // com.google.gson.stream.JsonReader + public boolean hasNext() throws IOException { + JsonToken token = peek(); + return (token == JsonToken.END_OBJECT || token == JsonToken.END_ARRAY) ? false : true; + } + + @Override // com.google.gson.stream.JsonReader + public JsonToken peek() throws IOException { + if (this.stackSize == 0) { + return JsonToken.END_DOCUMENT; + } + Object o = peekStack(); + if (o instanceof Iterator) { + boolean isObject = this.stack[this.stackSize - 2] instanceof JsonObject; + Iterator iterator = (Iterator) o; + if (!iterator.hasNext()) { + return isObject ? JsonToken.END_OBJECT : JsonToken.END_ARRAY; + } + if (isObject) { + return JsonToken.NAME; + } + push(iterator.next()); + return peek(); + } + if (o instanceof JsonObject) { + return JsonToken.BEGIN_OBJECT; + } + if (o instanceof JsonArray) { + return JsonToken.BEGIN_ARRAY; + } + if (o instanceof JsonPrimitive) { + JsonPrimitive primitive = (JsonPrimitive) o; + if (primitive.isString()) { + return JsonToken.STRING; + } + if (primitive.isBoolean()) { + return JsonToken.BOOLEAN; + } + if (primitive.isNumber()) { + return JsonToken.NUMBER; + } + throw new AssertionError(); + } + if (o instanceof JsonNull) { + return JsonToken.NULL; + } + if (o == SENTINEL_CLOSED) { + throw new IllegalStateException("JsonReader is closed"); + } + throw new AssertionError(); + } + + private Object peekStack() { + return this.stack[this.stackSize - 1]; + } + + private Object popStack() { + Object[] objArr = this.stack; + int i = this.stackSize - 1; + this.stackSize = i; + Object result = objArr[i]; + this.stack[this.stackSize] = null; + return result; + } + + private void expect(JsonToken expected) throws IOException { + if (peek() != expected) { + throw new IllegalStateException("Expected " + expected + " but was " + peek() + locationString()); + } + } + + @Override // com.google.gson.stream.JsonReader + public String nextName() throws IOException { + expect(JsonToken.NAME); + Iterator i = (Iterator) peekStack(); + Map.Entry entry = (Map.Entry) i.next(); + String result = (String) entry.getKey(); + this.pathNames[this.stackSize - 1] = result; + push(entry.getValue()); + return result; + } + + @Override // com.google.gson.stream.JsonReader + public String nextString() throws IOException { + JsonToken token = peek(); + if (token != JsonToken.STRING && token != JsonToken.NUMBER) { + throw new IllegalStateException("Expected " + JsonToken.STRING + " but was " + token + locationString()); + } + String result = ((JsonPrimitive) popStack()).getAsString(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + return result; + } + + @Override // com.google.gson.stream.JsonReader + public boolean nextBoolean() throws IOException { + expect(JsonToken.BOOLEAN); + boolean result = ((JsonPrimitive) popStack()).getAsBoolean(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + return result; + } + + @Override // com.google.gson.stream.JsonReader + public void nextNull() throws IOException { + expect(JsonToken.NULL); + popStack(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + } + + @Override // com.google.gson.stream.JsonReader + public double nextDouble() throws IOException { + JsonToken token = peek(); + if (token != JsonToken.NUMBER && token != JsonToken.STRING) { + throw new IllegalStateException("Expected " + JsonToken.NUMBER + " but was " + token + locationString()); + } + double result = ((JsonPrimitive) peekStack()).getAsDouble(); + if (!isLenient() && (Double.isNaN(result) || Double.isInfinite(result))) { + throw new NumberFormatException("JSON forbids NaN and infinities: " + result); + } + popStack(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + return result; + } + + @Override // com.google.gson.stream.JsonReader + public long nextLong() throws IOException { + JsonToken token = peek(); + if (token != JsonToken.NUMBER && token != JsonToken.STRING) { + throw new IllegalStateException("Expected " + JsonToken.NUMBER + " but was " + token + locationString()); + } + long result = ((JsonPrimitive) peekStack()).getAsLong(); + popStack(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + return result; + } + + @Override // com.google.gson.stream.JsonReader + public int nextInt() throws IOException { + JsonToken token = peek(); + if (token != JsonToken.NUMBER && token != JsonToken.STRING) { + throw new IllegalStateException("Expected " + JsonToken.NUMBER + " but was " + token + locationString()); + } + int result = ((JsonPrimitive) peekStack()).getAsInt(); + popStack(); + if (this.stackSize > 0) { + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + return result; + } + + @Override // com.google.gson.stream.JsonReader, java.io.Closeable, java.lang.AutoCloseable + public void close() throws IOException { + this.stack = new Object[]{SENTINEL_CLOSED}; + this.stackSize = 1; + } + + @Override // com.google.gson.stream.JsonReader + public void skipValue() throws IOException { + if (peek() == JsonToken.NAME) { + nextName(); + this.pathNames[this.stackSize - 2] = "null"; + } else { + popStack(); + this.pathNames[this.stackSize - 1] = "null"; + } + int[] iArr = this.pathIndices; + int i = this.stackSize - 1; + iArr[i] = iArr[i] + 1; + } + + @Override // com.google.gson.stream.JsonReader + public String toString() { + return getClass().getSimpleName(); + } + + public void promoteNameToValue() throws IOException { + expect(JsonToken.NAME); + Iterator i = (Iterator) peekStack(); + Map.Entry entry = (Map.Entry) i.next(); + push(entry.getValue()); + push(new JsonPrimitive((String) entry.getKey())); + } + + private void push(Object newTop) { + if (this.stackSize == this.stack.length) { + Object[] newStack = new Object[this.stackSize * 2]; + int[] newPathIndices = new int[this.stackSize * 2]; + String[] newPathNames = new String[this.stackSize * 2]; + System.arraycopy(this.stack, 0, newStack, 0, this.stackSize); + System.arraycopy(this.pathIndices, 0, newPathIndices, 0, this.stackSize); + System.arraycopy(this.pathNames, 0, newPathNames, 0, this.stackSize); + this.stack = newStack; + this.pathIndices = newPathIndices; + this.pathNames = newPathNames; + } + Object[] newStack2 = this.stack; + int i = this.stackSize; + this.stackSize = i + 1; + newStack2[i] = newTop; + } + + @Override // com.google.gson.stream.JsonReader + public String getPath() { + StringBuilder result = new StringBuilder().append('$'); + int i = 0; + while (i < this.stackSize) { + if (this.stack[i] instanceof JsonArray) { + i++; + if (this.stack[i] instanceof Iterator) { + result.append('[').append(this.pathIndices[i]).append(']'); + } + } else if (this.stack[i] instanceof JsonObject) { + i++; + if (this.stack[i] instanceof Iterator) { + result.append(DescriptorUtils.JAVA_PACKAGE_SEPARATOR); + if (this.pathNames[i] != null) { + result.append(this.pathNames[i]); + } + } + } + i++; + } + return result.toString(); + } + + private String locationString() { + return " at path " + getPath(); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeWriter.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeWriter.java new file mode 100644 index 000000000000..b24497c28806 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/JsonTreeWriter.java @@ -0,0 +1,201 @@ +package com.google.gson.internal.bind; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonNull; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.io.Writer; +import java.util.ArrayList; +import java.util.List; + +/* JADX INFO: loaded from: classes8.dex */ +public final class JsonTreeWriter extends JsonWriter { + private String pendingName; + private JsonElement product; + private final List stack; + private static final Writer UNWRITABLE_WRITER = new Writer() { // from class: com.google.gson.internal.bind.JsonTreeWriter.1 + @Override // java.io.Writer + public void write(char[] buffer, int offset, int counter) { + throw new AssertionError(); + } + + @Override // java.io.Writer, java.io.Flushable + public void flush() throws IOException { + throw new AssertionError(); + } + + @Override // java.io.Writer, java.io.Closeable, java.lang.AutoCloseable + public void close() throws IOException { + throw new AssertionError(); + } + }; + private static final JsonPrimitive SENTINEL_CLOSED = new JsonPrimitive("closed"); + + public JsonTreeWriter() { + super(UNWRITABLE_WRITER); + this.stack = new ArrayList(); + this.product = JsonNull.INSTANCE; + } + + public JsonElement get() { + if (!this.stack.isEmpty()) { + throw new IllegalStateException("Expected one JSON element but was " + this.stack); + } + return this.product; + } + + private JsonElement peek() { + return this.stack.get(this.stack.size() - 1); + } + + private void put(JsonElement value) { + if (this.pendingName != null) { + if (!value.isJsonNull() || getSerializeNulls()) { + JsonObject object = (JsonObject) peek(); + object.add(this.pendingName, value); + } + this.pendingName = null; + return; + } + if (this.stack.isEmpty()) { + this.product = value; + return; + } + JsonElement element = peek(); + if (element instanceof JsonArray) { + ((JsonArray) element).add(value); + return; + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter beginArray() throws IOException { + JsonArray array = new JsonArray(); + put(array); + this.stack.add(array); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter endArray() throws IOException { + if (this.stack.isEmpty() || this.pendingName != null) { + throw new IllegalStateException(); + } + JsonElement element = peek(); + if (element instanceof JsonArray) { + this.stack.remove(this.stack.size() - 1); + return this; + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter beginObject() throws IOException { + JsonObject object = new JsonObject(); + put(object); + this.stack.add(object); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter endObject() throws IOException { + if (this.stack.isEmpty() || this.pendingName != null) { + throw new IllegalStateException(); + } + JsonElement element = peek(); + if (element instanceof JsonObject) { + this.stack.remove(this.stack.size() - 1); + return this; + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter name(String name) throws IOException { + if (this.stack.isEmpty() || this.pendingName != null) { + throw new IllegalStateException(); + } + JsonElement element = peek(); + if (element instanceof JsonObject) { + this.pendingName = name; + return this; + } + throw new IllegalStateException(); + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter value(String value) throws IOException { + if (value == null) { + return nullValue(); + } + put(new JsonPrimitive(value)); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter nullValue() throws IOException { + put(JsonNull.INSTANCE); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter value(boolean value) throws IOException { + put(new JsonPrimitive(Boolean.valueOf(value))); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter value(Boolean value) throws IOException { + if (value == null) { + return nullValue(); + } + put(new JsonPrimitive(value)); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter value(double value) throws IOException { + if (!isLenient() && (Double.isNaN(value) || Double.isInfinite(value))) { + throw new IllegalArgumentException("JSON forbids NaN and infinities: " + value); + } + put(new JsonPrimitive((Number) Double.valueOf(value))); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter value(long value) throws IOException { + put(new JsonPrimitive((Number) Long.valueOf(value))); + return this; + } + + @Override // com.google.gson.stream.JsonWriter + public JsonWriter value(Number value) throws IOException { + if (value == null) { + return nullValue(); + } + if (!isLenient()) { + double d = value.doubleValue(); + if (Double.isNaN(d) || Double.isInfinite(d)) { + throw new IllegalArgumentException("JSON forbids NaN and infinities: " + value); + } + } + put(new JsonPrimitive(value)); + return this; + } + + @Override // com.google.gson.stream.JsonWriter, java.io.Flushable + public void flush() throws IOException { + } + + @Override // com.google.gson.stream.JsonWriter, java.io.Closeable, java.lang.AutoCloseable + public void close() throws IOException { + if (!this.stack.isEmpty()) { + throw new IOException("Incomplete document"); + } + this.stack.add(SENTINEL_CLOSED); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/MapTypeAdapterFactory.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/MapTypeAdapterFactory.java new file mode 100644 index 000000000000..f81e10fd4272 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/MapTypeAdapterFactory.java @@ -0,0 +1,168 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSyntaxException; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.internal.C$Gson$Types; +import com.google.gson.internal.ConstructorConstructor; +import com.google.gson.internal.JsonReaderInternalAccess; +import com.google.gson.internal.ObjectConstructor; +import com.google.gson.internal.Streams; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public final class MapTypeAdapterFactory implements TypeAdapterFactory { + final boolean complexMapKeySerialization; + private final ConstructorConstructor constructorConstructor; + + public MapTypeAdapterFactory(ConstructorConstructor constructorConstructor, boolean complexMapKeySerialization) { + this.constructorConstructor = constructorConstructor; + this.complexMapKeySerialization = complexMapKeySerialization; + } + + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken typeToken) { + Type type = typeToken.getType(); + Class rawType = typeToken.getRawType(); + if (!Map.class.isAssignableFrom(rawType)) { + return null; + } + Class rawTypeOfSrc = C$Gson$Types.getRawType(type); + Type[] keyAndValueTypes = C$Gson$Types.getMapKeyAndValueTypes(type, rawTypeOfSrc); + TypeAdapter keyAdapter = getKeyAdapter(gson, keyAndValueTypes[0]); + TypeAdapter adapter = gson.getAdapter(TypeToken.get(keyAndValueTypes[1])); + ObjectConstructor constructor = this.constructorConstructor.get(typeToken); + TypeAdapter result = new Adapter<>(gson, keyAndValueTypes[0], keyAdapter, keyAndValueTypes[1], adapter, constructor); + return result; + } + + private TypeAdapter getKeyAdapter(Gson context, Type keyType) { + if (keyType == Boolean.TYPE || keyType == Boolean.class) { + return TypeAdapters.BOOLEAN_AS_STRING; + } + return context.getAdapter(TypeToken.get(keyType)); + } + + private final class Adapter extends TypeAdapter> { + private final ObjectConstructor> constructor; + private final TypeAdapter keyTypeAdapter; + private final TypeAdapter valueTypeAdapter; + + public Adapter(Gson context, Type keyType, TypeAdapter keyTypeAdapter, Type valueType, TypeAdapter valueTypeAdapter, ObjectConstructor> constructor) { + this.keyTypeAdapter = new TypeAdapterRuntimeTypeWrapper(context, keyTypeAdapter, keyType); + this.valueTypeAdapter = new TypeAdapterRuntimeTypeWrapper(context, valueTypeAdapter, valueType); + this.constructor = constructor; + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public Map read2(JsonReader in) throws IOException { + JsonToken peek = in.peek(); + if (peek == JsonToken.NULL) { + in.nextNull(); + return null; + } + Map map = this.constructor.construct(); + if (peek == JsonToken.BEGIN_ARRAY) { + in.beginArray(); + while (in.hasNext()) { + in.beginArray(); + K key = this.keyTypeAdapter.read2(in); + V value = this.valueTypeAdapter.read2(in); + V replaced = map.put(key, value); + if (replaced != null) { + throw new JsonSyntaxException("duplicate key: " + key); + } + in.endArray(); + } + in.endArray(); + } else { + in.beginObject(); + while (in.hasNext()) { + JsonReaderInternalAccess.INSTANCE.promoteNameToValue(in); + K key2 = this.keyTypeAdapter.read2(in); + V value2 = this.valueTypeAdapter.read2(in); + V replaced2 = map.put(key2, value2); + if (replaced2 != null) { + throw new JsonSyntaxException("duplicate key: " + key2); + } + } + in.endObject(); + } + return map; + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter jsonWriter, Map map) throws IOException { + if (map == null) { + jsonWriter.nullValue(); + return; + } + if (!MapTypeAdapterFactory.this.complexMapKeySerialization) { + jsonWriter.beginObject(); + for (Map.Entry entry : map.entrySet()) { + jsonWriter.name(String.valueOf(entry.getKey())); + this.valueTypeAdapter.write(jsonWriter, entry.getValue()); + } + jsonWriter.endObject(); + return; + } + boolean z = false; + ArrayList arrayList = new ArrayList(map.size()); + ArrayList arrayList2 = new ArrayList(map.size()); + for (Map.Entry entry2 : map.entrySet()) { + JsonElement jsonTree = this.keyTypeAdapter.toJsonTree(entry2.getKey()); + arrayList.add(jsonTree); + arrayList2.add(entry2.getValue()); + z |= jsonTree.isJsonArray() || jsonTree.isJsonObject(); + } + if (z) { + jsonWriter.beginArray(); + for (int i = 0; i < arrayList.size(); i++) { + jsonWriter.beginArray(); + Streams.write((JsonElement) arrayList.get(i), jsonWriter); + this.valueTypeAdapter.write(jsonWriter, arrayList2.get(i)); + jsonWriter.endArray(); + } + jsonWriter.endArray(); + return; + } + jsonWriter.beginObject(); + for (int i2 = 0; i2 < arrayList.size(); i2++) { + jsonWriter.name(keyToString((JsonElement) arrayList.get(i2))); + this.valueTypeAdapter.write(jsonWriter, arrayList2.get(i2)); + } + jsonWriter.endObject(); + } + + private String keyToString(JsonElement keyElement) { + if (keyElement.isJsonPrimitive()) { + JsonPrimitive primitive = keyElement.getAsJsonPrimitive(); + if (primitive.isNumber()) { + return String.valueOf(primitive.getAsNumber()); + } + if (primitive.isBoolean()) { + return Boolean.toString(primitive.getAsBoolean()); + } + if (primitive.isString()) { + return primitive.getAsString(); + } + throw new AssertionError(); + } + if (keyElement.isJsonNull()) { + return "null"; + } + throw new AssertionError(); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/ObjectTypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/ObjectTypeAdapter.java new file mode 100644 index 000000000000..cf4c4cbe9ae9 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/ObjectTypeAdapter.java @@ -0,0 +1,82 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.internal.LinkedTreeMap; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public final class ObjectTypeAdapter extends TypeAdapter { + public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { // from class: com.google.gson.internal.bind.ObjectTypeAdapter.1 + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken type) { + if (type.getRawType() == Object.class) { + return new ObjectTypeAdapter(gson); + } + return null; + } + }; + private final Gson gson; + + ObjectTypeAdapter(Gson gson) { + this.gson = gson; + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public Object read2(JsonReader in) throws IOException { + JsonToken token = in.peek(); + switch (token) { + case BEGIN_ARRAY: + List list = new ArrayList<>(); + in.beginArray(); + while (in.hasNext()) { + list.add(read2(in)); + } + in.endArray(); + return list; + case BEGIN_OBJECT: + Map map = new LinkedTreeMap<>(); + in.beginObject(); + while (in.hasNext()) { + map.put(in.nextName(), read2(in)); + } + in.endObject(); + return map; + case STRING: + return in.nextString(); + case NUMBER: + return Double.valueOf(in.nextDouble()); + case BOOLEAN: + return Boolean.valueOf(in.nextBoolean()); + case NULL: + in.nextNull(); + return null; + default: + throw new IllegalStateException(); + } + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, Object value) throws IOException { + if (value == null) { + out.nullValue(); + return; + } + TypeAdapter typeAdapter = this.gson.getAdapter(value.getClass()); + if (typeAdapter instanceof ObjectTypeAdapter) { + out.beginObject(); + out.endObject(); + } else { + typeAdapter.write(out, value); + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java new file mode 100644 index 000000000000..020a200a4d4c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java @@ -0,0 +1,245 @@ +package com.google.gson.internal.bind; + +import com.google.gson.FieldNamingStrategy; +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.internal.C$Gson$Types; +import com.google.gson.internal.ConstructorConstructor; +import com.google.gson.internal.Excluder; +import com.google.gson.internal.ObjectConstructor; +import com.google.gson.internal.Primitives; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/* JADX INFO: loaded from: classes8.dex */ +public final class ReflectiveTypeAdapterFactory implements TypeAdapterFactory { + private final ConstructorConstructor constructorConstructor; + private final Excluder excluder; + private final FieldNamingStrategy fieldNamingPolicy; + private final JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory; + + public ReflectiveTypeAdapterFactory(ConstructorConstructor constructorConstructor, FieldNamingStrategy fieldNamingPolicy, Excluder excluder, JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory) { + this.constructorConstructor = constructorConstructor; + this.fieldNamingPolicy = fieldNamingPolicy; + this.excluder = excluder; + this.jsonAdapterFactory = jsonAdapterFactory; + } + + public boolean excludeField(Field f, boolean serialize) { + return excludeField(f, serialize, this.excluder); + } + + static boolean excludeField(Field f, boolean serialize, Excluder excluder) { + return (excluder.excludeClass(f.getType(), serialize) || excluder.excludeField(f, serialize)) ? false : true; + } + + private List getFieldNames(Field f) { + SerializedName annotation = (SerializedName) f.getAnnotation(SerializedName.class); + if (annotation == null) { + String name = this.fieldNamingPolicy.translateName(f); + return Collections.singletonList(name); + } + String serializedName = annotation.value(); + String[] alternates = annotation.alternate(); + if (alternates.length == 0) { + return Collections.singletonList(serializedName); + } + List fieldNames = new ArrayList<>(alternates.length + 1); + fieldNames.add(serializedName); + for (String alternate : alternates) { + fieldNames.add(alternate); + } + return fieldNames; + } + + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken type) { + Class raw = type.getRawType(); + if (!Object.class.isAssignableFrom(raw)) { + return null; + } + ObjectConstructor constructor = this.constructorConstructor.get(type); + return new Adapter(constructor, getBoundFields(gson, type, raw)); + } + + private BoundField createBoundField(final Gson context, final Field field, String name, final TypeToken fieldType, boolean serialize, boolean deserialize) { + final boolean isPrimitive = Primitives.isPrimitive(fieldType.getRawType()); + JsonAdapter annotation = (JsonAdapter) field.getAnnotation(JsonAdapter.class); + TypeAdapter mapped = null; + if (annotation != null) { + mapped = this.jsonAdapterFactory.getTypeAdapter(this.constructorConstructor, context, fieldType, annotation); + } + final boolean jsonAdapterPresent = mapped != null; + if (mapped == null) { + mapped = context.getAdapter(fieldType); + } + final TypeAdapter mapped2 = mapped; + return new BoundField(name, serialize, deserialize) { // from class: com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.1 + @Override // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.BoundField + void write(JsonWriter writer, Object value) throws IllegalAccessException, IOException { + Object fieldValue = field.get(value); + TypeAdapter t = jsonAdapterPresent ? mapped2 : new TypeAdapterRuntimeTypeWrapper(context, mapped2, fieldType.getType()); + t.write(writer, fieldValue); + } + + @Override // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.BoundField + void read(JsonReader reader, Object value) throws IllegalAccessException, IOException { + Object fieldValue = mapped2.read2(reader); + if (fieldValue != null || !isPrimitive) { + field.set(value, fieldValue); + } + } + + @Override // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.BoundField + public boolean writeField(Object value) throws IllegalAccessException, IOException { + if (!this.serialized) { + return false; + } + Object fieldValue = field.get(value); + return fieldValue != value; + } + }; + } + + private Map getBoundFields(Gson context, TypeToken type, Class raw) { + Map result = new LinkedHashMap<>(); + if (raw.isInterface()) { + return result; + } + Type declaredType = type.getType(); + TypeToken type2 = type; + Class raw2 = raw; + while (raw2 != Object.class) { + Field[] fields = raw2.getDeclaredFields(); + int length = fields.length; + boolean z = false; + int i = 0; + while (i < length) { + Field field = fields[i]; + boolean serialize = excludeField(field, true); + boolean deserialize = excludeField(field, z); + if (serialize || deserialize) { + field.setAccessible(true); + Type fieldType = C$Gson$Types.resolve(type2.getType(), raw2, field.getGenericType()); + List fieldNames = getFieldNames(field); + BoundField previous = null; + int i2 = 0; + while (i2 < fieldNames.size()) { + String name = fieldNames.get(i2); + boolean serialize2 = i2 != 0 ? false : serialize; + int i3 = i2; + BoundField previous2 = previous; + List fieldNames2 = fieldNames; + Field field2 = field; + BoundField boundField = createBoundField(context, field, name, TypeToken.get(fieldType), serialize2, deserialize); + BoundField replaced = result.put(name, boundField); + previous = previous2 == null ? replaced : previous2; + i2 = i3 + 1; + serialize = serialize2; + fieldNames = fieldNames2; + field = field2; + } + BoundField previous3 = previous; + if (previous3 != null) { + throw new IllegalArgumentException(declaredType + " declares multiple JSON fields named " + previous3.name); + } + } + i++; + z = false; + } + type2 = TypeToken.get(C$Gson$Types.resolve(type2.getType(), raw2, raw2.getGenericSuperclass())); + raw2 = type2.getRawType(); + } + return result; + } + + static abstract class BoundField { + final boolean deserialized; + final String name; + final boolean serialized; + + abstract void read(JsonReader jsonReader, Object obj) throws IllegalAccessException, IOException; + + abstract void write(JsonWriter jsonWriter, Object obj) throws IllegalAccessException, IOException; + + abstract boolean writeField(Object obj) throws IllegalAccessException, IOException; + + protected BoundField(String name, boolean serialized, boolean deserialized) { + this.name = name; + this.serialized = serialized; + this.deserialized = deserialized; + } + } + + public static final class Adapter extends TypeAdapter { + private final Map boundFields; + private final ObjectConstructor constructor; + + Adapter(ObjectConstructor constructor, Map boundFields) { + this.constructor = constructor; + this.boundFields = boundFields; + } + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read */ + public T read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + T instance = this.constructor.construct(); + try { + in.beginObject(); + while (in.hasNext()) { + String name = in.nextName(); + BoundField field = this.boundFields.get(name); + if (field == null || !field.deserialized) { + in.skipValue(); + } else { + field.read(in, instance); + } + } + in.endObject(); + return instance; + } catch (IllegalAccessException e) { + throw new AssertionError(e); + } catch (IllegalStateException e2) { + throw new JsonSyntaxException(e2); + } + } + + @Override // com.google.gson.TypeAdapter + public void write(JsonWriter out, T value) throws IOException { + if (value == null) { + out.nullValue(); + return; + } + out.beginObject(); + try { + for (BoundField boundField : this.boundFields.values()) { + if (boundField.writeField(value)) { + out.name(boundField.name); + boundField.write(out, value); + } + } + out.endObject(); + } catch (IllegalAccessException e) { + throw new AssertionError(e); + } + } + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/SqlDateTypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/SqlDateTypeAdapter.java new file mode 100644 index 000000000000..74edabc1e52c --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/SqlDateTypeAdapter.java @@ -0,0 +1,49 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.sql.Date; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +/* JADX INFO: loaded from: classes8.dex */ +public final class SqlDateTypeAdapter extends TypeAdapter { + public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { // from class: com.google.gson.internal.bind.SqlDateTypeAdapter.1 + @Override // com.google.gson.TypeAdapterFactory + public TypeAdapter create(Gson gson, TypeToken typeToken) { + if (typeToken.getRawType() == Date.class) { + return new SqlDateTypeAdapter(); + } + return null; + } + }; + private final DateFormat format = new SimpleDateFormat("MMM d, yyyy"); + + @Override // com.google.gson.TypeAdapter + /* JADX INFO: renamed from: read, reason: avoid collision after fix types in other method */ + public synchronized Date read2(JsonReader in) throws IOException { + if (in.peek() == JsonToken.NULL) { + in.nextNull(); + return null; + } + try { + long utilDate = this.format.parse(in.nextString()).getTime(); + return new Date(utilDate); + } catch (ParseException e) { + throw new JsonSyntaxException(e); + } + } + + @Override // com.google.gson.TypeAdapter + public synchronized void write(JsonWriter out, Date value) throws IOException { + out.value(value == null ? null : this.format.format((java.util.Date) value)); + } +} diff --git a/FtcRobotController/base/sources/com/google/gson/internal/bind/TimeTypeAdapter.java b/FtcRobotController/base/sources/com/google/gson/internal/bind/TimeTypeAdapter.java new file mode 100644 index 000000000000..5f038c1455c8 --- /dev/null +++ b/FtcRobotController/base/sources/com/google/gson/internal/bind/TimeTypeAdapter.java @@ -0,0 +1,50 @@ +package com.google.gson.internal.bind; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.sql.Time; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/* JADX INFO: loaded from: classes8.dex */ +public final class TimeTypeAdapter extends TypeAdapter