From edb2be57164d218e17c756c58032e42a65bf282e Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Tue, 20 Oct 2026 17:59:09 -0500 Subject: [PATCH] Build Prius ZSS support --- msgq_repo/libvisionipc.a | Bin 644134 -> 644030 bytes msgq_repo/msgq/visionipc/visionipc_pyx.so | Bin 1642392 -> 1642336 bytes .../locationd/models/generated/car.cpp | 684 +++--- .../locationd/models/generated/car.h | 42 +- .../locationd/models/generated/libcar.so | Bin 24120528 -> 24120528 bytes .../locationd/models/generated/libpose.so | Bin 20605632 -> 20605632 bytes .../locationd/models/generated/pose.cpp | 1938 ++++++++--------- .../locationd/models/generated/pose.h | 26 +- .../system/android_auto/hw/libaa_encoder.so | Bin 244624 -> 244600 bytes openpilot/system/camerad/camerad | Bin 5212616 -> 5212600 bytes openpilot/system/loggerd/encoderd | Bin 6933888 -> 6933872 bytes openpilot/tools/replay/replay | Bin 11562296 -> 11562280 bytes panda/board/obj/body_h7.bin.signed | Bin 219992 -> 219992 bytes panda/board/obj/bootstub.body_h7.bin | Bin 12040 -> 12040 bytes panda/board/obj/bootstub.panda.bin | Bin 11176 -> 11176 bytes .../obj/bootstub.panda_can_ignition_only.bin | Bin 11176 -> 11176 bytes panda/board/obj/bootstub.panda_h7.bin | Bin 18824 -> 18824 bytes .../bootstub.panda_h7_can_ignition_only.bin | Bin 18824 -> 18824 bytes .../obj/bootstub.panda_h7_hkg_remote.bin | Bin 18824 -> 18824 bytes ....panda_h7_hkg_remote_can_ignition_only.bin | Bin 18824 -> 18824 bytes panda/board/obj/bootstub.panda_h7_remote.bin | Bin 18824 -> 18824 bytes ...stub.panda_h7_remote_can_ignition_only.bin | Bin 18824 -> 18824 bytes .../obj/bootstub.panda_h7_tesla_wake.bin | Bin 18824 -> 18824 bytes ....panda_h7_tesla_wake_can_ignition_only.bin | Bin 18824 -> 18824 bytes panda/board/obj/bootstub.panda_hkg_remote.bin | Bin 11176 -> 11176 bytes ...tub.panda_hkg_remote_can_ignition_only.bin | Bin 11176 -> 11176 bytes panda/board/obj/bootstub.panda_remote.bin | Bin 11176 -> 11176 bytes ...ootstub.panda_remote_can_ignition_only.bin | Bin 11176 -> 11176 bytes panda/board/obj/bootstub.panda_tesla_wake.bin | Bin 11176 -> 11176 bytes ...tub.panda_tesla_wake_can_ignition_only.bin | Bin 11176 -> 11176 bytes panda/board/obj/gitversion.h | 2 +- panda/board/obj/panda.bin.signed | Bin 211964 -> 211964 bytes .../obj/panda_can_ignition_only.bin.signed | Bin 211936 -> 211936 bytes panda/board/obj/panda_h7.bin.signed | Bin 220772 -> 220772 bytes .../obj/panda_h7_can_ignition_only.bin.signed | Bin 220748 -> 220748 bytes .../board/obj/panda_h7_hkg_remote.bin.signed | Bin 220860 -> 220860 bytes ...h7_hkg_remote_can_ignition_only.bin.signed | Bin 220844 -> 220844 bytes panda/board/obj/panda_h7_remote.bin.signed | Bin 220772 -> 220772 bytes ...nda_h7_remote_can_ignition_only.bin.signed | Bin 220748 -> 220748 bytes .../board/obj/panda_h7_tesla_wake.bin.signed | Bin 220908 -> 220908 bytes ...h7_tesla_wake_can_ignition_only.bin.signed | Bin 220884 -> 220884 bytes panda/board/obj/panda_hkg_remote.bin.signed | Bin 212032 -> 212032 bytes ...da_hkg_remote_can_ignition_only.bin.signed | Bin 212016 -> 212016 bytes panda/board/obj/panda_remote.bin.signed | Bin 211960 -> 211960 bytes .../panda_remote_can_ignition_only.bin.signed | Bin 211932 -> 211932 bytes panda/board/obj/panda_tesla_wake.bin.signed | Bin 212080 -> 212080 bytes ...da_tesla_wake_can_ignition_only.bin.signed | Bin 212056 -> 212056 bytes panda/board/obj/version | 2 +- prebuilt.json | 2 +- 49 files changed, 1348 insertions(+), 1348 deletions(-) diff --git a/msgq_repo/libvisionipc.a b/msgq_repo/libvisionipc.a index 9386a0989d08fa9771a906a39955f5ff6e713c2f..f6de31e81f101a437b0d2e0f75ac5b009eb4d0e9 100644 GIT binary patch delta 8040 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 PeKcQwPS?2ivYz_C_b0T` delta 8103 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 diff --git a/msgq_repo/msgq/visionipc/visionipc_pyx.so b/msgq_repo/msgq/visionipc/visionipc_pyx.so index 4a1caa9cd01018fa473b01cbcebb82684b4b55a4..40db29446e3d4ac9adfbc9b741c7c5b35494616b 100755 GIT binary patch delta 9463 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 diff --git a/openpilot/selfdrive/locationd/models/generated/car.cpp b/openpilot/selfdrive/locationd/models/generated/car.cpp index aa045cec3d..ec6c9f0888 100644 --- a/openpilot/selfdrive/locationd/models/generated/car.cpp +++ b/openpilot/selfdrive/locationd/models/generated/car.cpp @@ -45,326 +45,326 @@ const static double MAHA_THRESH_31 = 3.8414588206941227; * * * This file is part of 'ekf' * ******************************************************************************/ -void err_fun(double *nom_x, double *delta_x, double *out_9051704423920016590) { - out_9051704423920016590[0] = delta_x[0] + nom_x[0]; - out_9051704423920016590[1] = delta_x[1] + nom_x[1]; - out_9051704423920016590[2] = delta_x[2] + nom_x[2]; - out_9051704423920016590[3] = delta_x[3] + nom_x[3]; - out_9051704423920016590[4] = delta_x[4] + nom_x[4]; - out_9051704423920016590[5] = delta_x[5] + nom_x[5]; - out_9051704423920016590[6] = delta_x[6] + nom_x[6]; - out_9051704423920016590[7] = delta_x[7] + nom_x[7]; - out_9051704423920016590[8] = delta_x[8] + nom_x[8]; +void err_fun(double *nom_x, double *delta_x, double *out_3483464759245960511) { + out_3483464759245960511[0] = delta_x[0] + nom_x[0]; + out_3483464759245960511[1] = delta_x[1] + nom_x[1]; + out_3483464759245960511[2] = delta_x[2] + nom_x[2]; + out_3483464759245960511[3] = delta_x[3] + nom_x[3]; + out_3483464759245960511[4] = delta_x[4] + nom_x[4]; + out_3483464759245960511[5] = delta_x[5] + nom_x[5]; + out_3483464759245960511[6] = delta_x[6] + nom_x[6]; + out_3483464759245960511[7] = delta_x[7] + nom_x[7]; + out_3483464759245960511[8] = delta_x[8] + nom_x[8]; } -void inv_err_fun(double *nom_x, double *true_x, double *out_8262520073968428420) { - out_8262520073968428420[0] = -nom_x[0] + true_x[0]; - out_8262520073968428420[1] = -nom_x[1] + true_x[1]; - out_8262520073968428420[2] = -nom_x[2] + true_x[2]; - out_8262520073968428420[3] = -nom_x[3] + true_x[3]; - out_8262520073968428420[4] = -nom_x[4] + true_x[4]; - out_8262520073968428420[5] = -nom_x[5] + true_x[5]; - out_8262520073968428420[6] = -nom_x[6] + true_x[6]; - out_8262520073968428420[7] = -nom_x[7] + true_x[7]; - out_8262520073968428420[8] = -nom_x[8] + true_x[8]; +void inv_err_fun(double *nom_x, double *true_x, double *out_7987823426960705532) { + out_7987823426960705532[0] = -nom_x[0] + true_x[0]; + out_7987823426960705532[1] = -nom_x[1] + true_x[1]; + out_7987823426960705532[2] = -nom_x[2] + true_x[2]; + out_7987823426960705532[3] = -nom_x[3] + true_x[3]; + out_7987823426960705532[4] = -nom_x[4] + true_x[4]; + out_7987823426960705532[5] = -nom_x[5] + true_x[5]; + out_7987823426960705532[6] = -nom_x[6] + true_x[6]; + out_7987823426960705532[7] = -nom_x[7] + true_x[7]; + out_7987823426960705532[8] = -nom_x[8] + true_x[8]; } -void H_mod_fun(double *state, double *out_8032114232992966708) { - out_8032114232992966708[0] = 1.0; - out_8032114232992966708[1] = 0.0; - out_8032114232992966708[2] = 0.0; - out_8032114232992966708[3] = 0.0; - out_8032114232992966708[4] = 0.0; - out_8032114232992966708[5] = 0.0; - out_8032114232992966708[6] = 0.0; - out_8032114232992966708[7] = 0.0; - out_8032114232992966708[8] = 0.0; - out_8032114232992966708[9] = 0.0; - out_8032114232992966708[10] = 1.0; - out_8032114232992966708[11] = 0.0; - out_8032114232992966708[12] = 0.0; - out_8032114232992966708[13] = 0.0; - out_8032114232992966708[14] = 0.0; - out_8032114232992966708[15] = 0.0; - out_8032114232992966708[16] = 0.0; - out_8032114232992966708[17] = 0.0; - out_8032114232992966708[18] = 0.0; - out_8032114232992966708[19] = 0.0; - out_8032114232992966708[20] = 1.0; - out_8032114232992966708[21] = 0.0; - out_8032114232992966708[22] = 0.0; - out_8032114232992966708[23] = 0.0; - out_8032114232992966708[24] = 0.0; - out_8032114232992966708[25] = 0.0; - out_8032114232992966708[26] = 0.0; - out_8032114232992966708[27] = 0.0; - out_8032114232992966708[28] = 0.0; - out_8032114232992966708[29] = 0.0; - out_8032114232992966708[30] = 1.0; - out_8032114232992966708[31] = 0.0; - out_8032114232992966708[32] = 0.0; - out_8032114232992966708[33] = 0.0; - out_8032114232992966708[34] = 0.0; - out_8032114232992966708[35] = 0.0; - out_8032114232992966708[36] = 0.0; - out_8032114232992966708[37] = 0.0; - out_8032114232992966708[38] = 0.0; - out_8032114232992966708[39] = 0.0; - out_8032114232992966708[40] = 1.0; - out_8032114232992966708[41] = 0.0; - out_8032114232992966708[42] = 0.0; - out_8032114232992966708[43] = 0.0; - out_8032114232992966708[44] = 0.0; - out_8032114232992966708[45] = 0.0; - out_8032114232992966708[46] = 0.0; - out_8032114232992966708[47] = 0.0; - out_8032114232992966708[48] = 0.0; - out_8032114232992966708[49] = 0.0; - out_8032114232992966708[50] = 1.0; - out_8032114232992966708[51] = 0.0; - out_8032114232992966708[52] = 0.0; - out_8032114232992966708[53] = 0.0; - out_8032114232992966708[54] = 0.0; - out_8032114232992966708[55] = 0.0; - out_8032114232992966708[56] = 0.0; - out_8032114232992966708[57] = 0.0; - out_8032114232992966708[58] = 0.0; - out_8032114232992966708[59] = 0.0; - out_8032114232992966708[60] = 1.0; - out_8032114232992966708[61] = 0.0; - out_8032114232992966708[62] = 0.0; - out_8032114232992966708[63] = 0.0; - out_8032114232992966708[64] = 0.0; - out_8032114232992966708[65] = 0.0; - out_8032114232992966708[66] = 0.0; - out_8032114232992966708[67] = 0.0; - out_8032114232992966708[68] = 0.0; - out_8032114232992966708[69] = 0.0; - out_8032114232992966708[70] = 1.0; - out_8032114232992966708[71] = 0.0; - out_8032114232992966708[72] = 0.0; - out_8032114232992966708[73] = 0.0; - out_8032114232992966708[74] = 0.0; - out_8032114232992966708[75] = 0.0; - out_8032114232992966708[76] = 0.0; - out_8032114232992966708[77] = 0.0; - out_8032114232992966708[78] = 0.0; - out_8032114232992966708[79] = 0.0; - out_8032114232992966708[80] = 1.0; +void H_mod_fun(double *state, double *out_7112895520366101703) { + out_7112895520366101703[0] = 1.0; + out_7112895520366101703[1] = 0.0; + out_7112895520366101703[2] = 0.0; + out_7112895520366101703[3] = 0.0; + out_7112895520366101703[4] = 0.0; + out_7112895520366101703[5] = 0.0; + out_7112895520366101703[6] = 0.0; + out_7112895520366101703[7] = 0.0; + out_7112895520366101703[8] = 0.0; + out_7112895520366101703[9] = 0.0; + out_7112895520366101703[10] = 1.0; + out_7112895520366101703[11] = 0.0; + out_7112895520366101703[12] = 0.0; + out_7112895520366101703[13] = 0.0; + out_7112895520366101703[14] = 0.0; + out_7112895520366101703[15] = 0.0; + out_7112895520366101703[16] = 0.0; + out_7112895520366101703[17] = 0.0; + out_7112895520366101703[18] = 0.0; + out_7112895520366101703[19] = 0.0; + out_7112895520366101703[20] = 1.0; + out_7112895520366101703[21] = 0.0; + out_7112895520366101703[22] = 0.0; + out_7112895520366101703[23] = 0.0; + out_7112895520366101703[24] = 0.0; + out_7112895520366101703[25] = 0.0; + out_7112895520366101703[26] = 0.0; + out_7112895520366101703[27] = 0.0; + out_7112895520366101703[28] = 0.0; + out_7112895520366101703[29] = 0.0; + out_7112895520366101703[30] = 1.0; + out_7112895520366101703[31] = 0.0; + out_7112895520366101703[32] = 0.0; + out_7112895520366101703[33] = 0.0; + out_7112895520366101703[34] = 0.0; + out_7112895520366101703[35] = 0.0; + out_7112895520366101703[36] = 0.0; + out_7112895520366101703[37] = 0.0; + out_7112895520366101703[38] = 0.0; + out_7112895520366101703[39] = 0.0; + out_7112895520366101703[40] = 1.0; + out_7112895520366101703[41] = 0.0; + out_7112895520366101703[42] = 0.0; + out_7112895520366101703[43] = 0.0; + out_7112895520366101703[44] = 0.0; + out_7112895520366101703[45] = 0.0; + out_7112895520366101703[46] = 0.0; + out_7112895520366101703[47] = 0.0; + out_7112895520366101703[48] = 0.0; + out_7112895520366101703[49] = 0.0; + out_7112895520366101703[50] = 1.0; + out_7112895520366101703[51] = 0.0; + out_7112895520366101703[52] = 0.0; + out_7112895520366101703[53] = 0.0; + out_7112895520366101703[54] = 0.0; + out_7112895520366101703[55] = 0.0; + out_7112895520366101703[56] = 0.0; + out_7112895520366101703[57] = 0.0; + out_7112895520366101703[58] = 0.0; + out_7112895520366101703[59] = 0.0; + out_7112895520366101703[60] = 1.0; + out_7112895520366101703[61] = 0.0; + out_7112895520366101703[62] = 0.0; + out_7112895520366101703[63] = 0.0; + out_7112895520366101703[64] = 0.0; + out_7112895520366101703[65] = 0.0; + out_7112895520366101703[66] = 0.0; + out_7112895520366101703[67] = 0.0; + out_7112895520366101703[68] = 0.0; + out_7112895520366101703[69] = 0.0; + out_7112895520366101703[70] = 1.0; + out_7112895520366101703[71] = 0.0; + out_7112895520366101703[72] = 0.0; + out_7112895520366101703[73] = 0.0; + out_7112895520366101703[74] = 0.0; + out_7112895520366101703[75] = 0.0; + out_7112895520366101703[76] = 0.0; + out_7112895520366101703[77] = 0.0; + out_7112895520366101703[78] = 0.0; + out_7112895520366101703[79] = 0.0; + out_7112895520366101703[80] = 1.0; } -void f_fun(double *state, double dt, double *out_4567942705157615163) { - out_4567942705157615163[0] = state[0]; - out_4567942705157615163[1] = state[1]; - out_4567942705157615163[2] = state[2]; - out_4567942705157615163[3] = state[3]; - out_4567942705157615163[4] = state[4]; - out_4567942705157615163[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8100000000000005*state[8] + stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*state[1]) + (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*state[4])) + state[5]; - out_4567942705157615163[6] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*state[4])) + state[6]; - out_4567942705157615163[7] = state[7]; - out_4567942705157615163[8] = state[8]; +void f_fun(double *state, double dt, double *out_1262489871201988902) { + out_1262489871201988902[0] = state[0]; + out_1262489871201988902[1] = state[1]; + out_1262489871201988902[2] = state[2]; + out_1262489871201988902[3] = state[3]; + out_1262489871201988902[4] = state[4]; + out_1262489871201988902[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8100000000000005*state[8] + stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*state[1]) + (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*state[4])) + state[5]; + out_1262489871201988902[6] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*state[4])) + state[6]; + out_1262489871201988902[7] = state[7]; + out_1262489871201988902[8] = state[8]; } -void F_fun(double *state, double dt, double *out_3687136313485263185) { - out_3687136313485263185[0] = 1; - out_3687136313485263185[1] = 0; - out_3687136313485263185[2] = 0; - out_3687136313485263185[3] = 0; - out_3687136313485263185[4] = 0; - out_3687136313485263185[5] = 0; - out_3687136313485263185[6] = 0; - out_3687136313485263185[7] = 0; - out_3687136313485263185[8] = 0; - out_3687136313485263185[9] = 0; - out_3687136313485263185[10] = 1; - out_3687136313485263185[11] = 0; - out_3687136313485263185[12] = 0; - out_3687136313485263185[13] = 0; - out_3687136313485263185[14] = 0; - out_3687136313485263185[15] = 0; - out_3687136313485263185[16] = 0; - out_3687136313485263185[17] = 0; - out_3687136313485263185[18] = 0; - out_3687136313485263185[19] = 0; - out_3687136313485263185[20] = 1; - out_3687136313485263185[21] = 0; - out_3687136313485263185[22] = 0; - out_3687136313485263185[23] = 0; - out_3687136313485263185[24] = 0; - out_3687136313485263185[25] = 0; - out_3687136313485263185[26] = 0; - out_3687136313485263185[27] = 0; - out_3687136313485263185[28] = 0; - out_3687136313485263185[29] = 0; - out_3687136313485263185[30] = 1; - out_3687136313485263185[31] = 0; - out_3687136313485263185[32] = 0; - out_3687136313485263185[33] = 0; - out_3687136313485263185[34] = 0; - out_3687136313485263185[35] = 0; - out_3687136313485263185[36] = 0; - out_3687136313485263185[37] = 0; - out_3687136313485263185[38] = 0; - out_3687136313485263185[39] = 0; - out_3687136313485263185[40] = 1; - out_3687136313485263185[41] = 0; - out_3687136313485263185[42] = 0; - out_3687136313485263185[43] = 0; - out_3687136313485263185[44] = 0; - out_3687136313485263185[45] = dt*(stiffness_front*(-state[2] - state[3] + state[7])/(mass*state[1]) + (-stiffness_front - stiffness_rear)*state[5]/(mass*state[4]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[6]/(mass*state[4])); - out_3687136313485263185[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2)); - out_3687136313485263185[47] = -dt*stiffness_front*state[0]/(mass*state[1]); - out_3687136313485263185[48] = -dt*stiffness_front*state[0]/(mass*state[1]); - out_3687136313485263185[49] = dt*((-1 - (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*pow(state[4], 2)))*state[6] - (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*pow(state[4], 2))); - out_3687136313485263185[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1; - out_3687136313485263185[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4])); - out_3687136313485263185[52] = dt*stiffness_front*state[0]/(mass*state[1]); - out_3687136313485263185[53] = -9.8100000000000005*dt; - out_3687136313485263185[54] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front - pow(center_to_rear, 2)*stiffness_rear)*state[6]/(rotational_inertia*state[4])); - out_3687136313485263185[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2)); - out_3687136313485263185[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]); - out_3687136313485263185[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]); - out_3687136313485263185[58] = dt*(-(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*pow(state[4], 2)) - (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*pow(state[4], 2))); - out_3687136313485263185[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]); - out_3687136313485263185[60] = dt*(-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])/(rotational_inertia*state[4]) + 1; - out_3687136313485263185[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]); - out_3687136313485263185[62] = 0; - out_3687136313485263185[63] = 0; - out_3687136313485263185[64] = 0; - out_3687136313485263185[65] = 0; - out_3687136313485263185[66] = 0; - out_3687136313485263185[67] = 0; - out_3687136313485263185[68] = 0; - out_3687136313485263185[69] = 0; - out_3687136313485263185[70] = 1; - out_3687136313485263185[71] = 0; - out_3687136313485263185[72] = 0; - out_3687136313485263185[73] = 0; - out_3687136313485263185[74] = 0; - out_3687136313485263185[75] = 0; - out_3687136313485263185[76] = 0; - out_3687136313485263185[77] = 0; - out_3687136313485263185[78] = 0; - out_3687136313485263185[79] = 0; - out_3687136313485263185[80] = 1; +void F_fun(double *state, double dt, double *out_8743492844107181083) { + out_8743492844107181083[0] = 1; + out_8743492844107181083[1] = 0; + out_8743492844107181083[2] = 0; + out_8743492844107181083[3] = 0; + out_8743492844107181083[4] = 0; + out_8743492844107181083[5] = 0; + out_8743492844107181083[6] = 0; + out_8743492844107181083[7] = 0; + out_8743492844107181083[8] = 0; + out_8743492844107181083[9] = 0; + out_8743492844107181083[10] = 1; + out_8743492844107181083[11] = 0; + out_8743492844107181083[12] = 0; + out_8743492844107181083[13] = 0; + out_8743492844107181083[14] = 0; + out_8743492844107181083[15] = 0; + out_8743492844107181083[16] = 0; + out_8743492844107181083[17] = 0; + out_8743492844107181083[18] = 0; + out_8743492844107181083[19] = 0; + out_8743492844107181083[20] = 1; + out_8743492844107181083[21] = 0; + out_8743492844107181083[22] = 0; + out_8743492844107181083[23] = 0; + out_8743492844107181083[24] = 0; + out_8743492844107181083[25] = 0; + out_8743492844107181083[26] = 0; + out_8743492844107181083[27] = 0; + out_8743492844107181083[28] = 0; + out_8743492844107181083[29] = 0; + out_8743492844107181083[30] = 1; + out_8743492844107181083[31] = 0; + out_8743492844107181083[32] = 0; + out_8743492844107181083[33] = 0; + out_8743492844107181083[34] = 0; + out_8743492844107181083[35] = 0; + out_8743492844107181083[36] = 0; + out_8743492844107181083[37] = 0; + out_8743492844107181083[38] = 0; + out_8743492844107181083[39] = 0; + out_8743492844107181083[40] = 1; + out_8743492844107181083[41] = 0; + out_8743492844107181083[42] = 0; + out_8743492844107181083[43] = 0; + out_8743492844107181083[44] = 0; + out_8743492844107181083[45] = dt*(stiffness_front*(-state[2] - state[3] + state[7])/(mass*state[1]) + (-stiffness_front - stiffness_rear)*state[5]/(mass*state[4]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[6]/(mass*state[4])); + out_8743492844107181083[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2)); + out_8743492844107181083[47] = -dt*stiffness_front*state[0]/(mass*state[1]); + out_8743492844107181083[48] = -dt*stiffness_front*state[0]/(mass*state[1]); + out_8743492844107181083[49] = dt*((-1 - (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*pow(state[4], 2)))*state[6] - (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*pow(state[4], 2))); + out_8743492844107181083[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1; + out_8743492844107181083[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4])); + out_8743492844107181083[52] = dt*stiffness_front*state[0]/(mass*state[1]); + out_8743492844107181083[53] = -9.8100000000000005*dt; + out_8743492844107181083[54] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front - pow(center_to_rear, 2)*stiffness_rear)*state[6]/(rotational_inertia*state[4])); + out_8743492844107181083[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2)); + out_8743492844107181083[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]); + out_8743492844107181083[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]); + out_8743492844107181083[58] = dt*(-(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*pow(state[4], 2)) - (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*pow(state[4], 2))); + out_8743492844107181083[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]); + out_8743492844107181083[60] = dt*(-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])/(rotational_inertia*state[4]) + 1; + out_8743492844107181083[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]); + out_8743492844107181083[62] = 0; + out_8743492844107181083[63] = 0; + out_8743492844107181083[64] = 0; + out_8743492844107181083[65] = 0; + out_8743492844107181083[66] = 0; + out_8743492844107181083[67] = 0; + out_8743492844107181083[68] = 0; + out_8743492844107181083[69] = 0; + out_8743492844107181083[70] = 1; + out_8743492844107181083[71] = 0; + out_8743492844107181083[72] = 0; + out_8743492844107181083[73] = 0; + out_8743492844107181083[74] = 0; + out_8743492844107181083[75] = 0; + out_8743492844107181083[76] = 0; + out_8743492844107181083[77] = 0; + out_8743492844107181083[78] = 0; + out_8743492844107181083[79] = 0; + out_8743492844107181083[80] = 1; } -void h_25(double *state, double *unused, double *out_2888373885214709447) { - out_2888373885214709447[0] = state[6]; +void h_25(double *state, double *unused, double *out_3773728404526364058) { + out_3773728404526364058[0] = state[6]; } -void H_25(double *state, double *unused, double *out_1161073992919270529) { - out_1161073992919270529[0] = 0; - out_1161073992919270529[1] = 0; - out_1161073992919270529[2] = 0; - out_1161073992919270529[3] = 0; - out_1161073992919270529[4] = 0; - out_1161073992919270529[5] = 0; - out_1161073992919270529[6] = 1; - out_1161073992919270529[7] = 0; - out_1161073992919270529[8] = 0; +void H_25(double *state, double *unused, double *out_7272976555244193865) { + out_7272976555244193865[0] = 0; + out_7272976555244193865[1] = 0; + out_7272976555244193865[2] = 0; + out_7272976555244193865[3] = 0; + out_7272976555244193865[4] = 0; + out_7272976555244193865[5] = 0; + out_7272976555244193865[6] = 1; + out_7272976555244193865[7] = 0; + out_7272976555244193865[8] = 0; } -void h_24(double *state, double *unused, double *out_3830852376846248192) { - out_3830852376846248192[0] = state[4]; - out_3830852376846248192[1] = state[5]; +void h_24(double *state, double *unused, double *out_3463504132316116315) { + out_3463504132316116315[0] = state[4]; + out_3463504132316116315[1] = state[5]; } -void H_24(double *state, double *unused, double *out_5907583319885779563) { - out_5907583319885779563[0] = 0; - out_5907583319885779563[1] = 0; - out_5907583319885779563[2] = 0; - out_5907583319885779563[3] = 0; - out_5907583319885779563[4] = 1; - out_5907583319885779563[5] = 0; - out_5907583319885779563[6] = 0; - out_5907583319885779563[7] = 0; - out_5907583319885779563[8] = 0; - out_5907583319885779563[9] = 0; - out_5907583319885779563[10] = 0; - out_5907583319885779563[11] = 0; - out_5907583319885779563[12] = 0; - out_5907583319885779563[13] = 0; - out_5907583319885779563[14] = 1; - out_5907583319885779563[15] = 0; - out_5907583319885779563[16] = 0; - out_5907583319885779563[17] = 0; +void H_24(double *state, double *unused, double *out_145415078432733028) { + out_145415078432733028[0] = 0; + out_145415078432733028[1] = 0; + out_145415078432733028[2] = 0; + out_145415078432733028[3] = 0; + out_145415078432733028[4] = 1; + out_145415078432733028[5] = 0; + out_145415078432733028[6] = 0; + out_145415078432733028[7] = 0; + out_145415078432733028[8] = 0; + out_145415078432733028[9] = 0; + out_145415078432733028[10] = 0; + out_145415078432733028[11] = 0; + out_145415078432733028[12] = 0; + out_145415078432733028[13] = 0; + out_145415078432733028[14] = 1; + out_145415078432733028[15] = 0; + out_145415078432733028[16] = 0; + out_145415078432733028[17] = 0; } -void h_30(double *state, double *unused, double *out_6420652903810990987) { - out_6420652903810990987[0] = state[4]; +void h_30(double *state, double *unused, double *out_4107544246227685127) { + out_4107544246227685127[0] = state[4]; } -void H_30(double *state, double *unused, double *out_1357258965587978098) { - out_1357258965587978098[0] = 0; - out_1357258965587978098[1] = 0; - out_1357258965587978098[2] = 0; - out_1357258965587978098[3] = 0; - out_1357258965587978098[4] = 1; - out_1357258965587978098[5] = 0; - out_1357258965587978098[6] = 0; - out_1357258965587978098[7] = 0; - out_1357258965587978098[8] = 0; +void H_30(double *state, double *unused, double *out_6646071188337749553) { + out_6646071188337749553[0] = 0; + out_6646071188337749553[1] = 0; + out_6646071188337749553[2] = 0; + out_6646071188337749553[3] = 0; + out_6646071188337749553[4] = 1; + out_6646071188337749553[5] = 0; + out_6646071188337749553[6] = 0; + out_6646071188337749553[7] = 0; + out_6646071188337749553[8] = 0; } -void h_26(double *state, double *unused, double *out_1418979636150145342) { - out_1418979636150145342[0] = state[7]; +void h_26(double *state, double *unused, double *out_3504228361551207610) { + out_3504228361551207610[0] = state[7]; } -void H_26(double *state, double *unused, double *out_4902577311793326753) { - out_4902577311793326753[0] = 0; - out_4902577311793326753[1] = 0; - out_4902577311793326753[2] = 0; - out_4902577311793326753[3] = 0; - out_4902577311793326753[4] = 0; - out_4902577311793326753[5] = 0; - out_4902577311793326753[6] = 0; - out_4902577311793326753[7] = 1; - out_4902577311793326753[8] = 0; +void H_26(double *state, double *unused, double *out_7432264199591301527) { + out_7432264199591301527[0] = 0; + out_7432264199591301527[1] = 0; + out_7432264199591301527[2] = 0; + out_7432264199591301527[3] = 0; + out_7432264199591301527[4] = 0; + out_7432264199591301527[5] = 0; + out_7432264199591301527[6] = 0; + out_7432264199591301527[7] = 1; + out_7432264199591301527[8] = 0; } -void h_27(double *state, double *unused, double *out_6566216540079153322) { - out_6566216540079153322[0] = state[3]; +void h_27(double *state, double *unused, double *out_8690091829877045805) { + out_8690091829877045805[0] = state[3]; } -void H_27(double *state, double *unused, double *out_817504346212446813) { - out_817504346212446813[0] = 0; - out_817504346212446813[1] = 0; - out_817504346212446813[2] = 0; - out_817504346212446813[3] = 1; - out_817504346212446813[4] = 0; - out_817504346212446813[5] = 0; - out_817504346212446813[6] = 0; - out_817504346212446813[7] = 0; - out_817504346212446813[8] = 0; +void H_27(double *state, double *unused, double *out_4471307876537324642) { + out_4471307876537324642[0] = 0; + out_4471307876537324642[1] = 0; + out_4471307876537324642[2] = 0; + out_4471307876537324642[3] = 1; + out_4471307876537324642[4] = 0; + out_4471307876537324642[5] = 0; + out_4471307876537324642[6] = 0; + out_4471307876537324642[7] = 0; + out_4471307876537324642[8] = 0; } -void h_29(double *state, double *unused, double *out_5750748910700158548) { - out_5750748910700158548[0] = state[1]; +void h_29(double *state, double *unused, double *out_5089628339562983239) { + out_5089628339562983239[0] = state[1]; } -void H_29(double *state, double *unused, double *out_1867490309902370282) { - out_1867490309902370282[0] = 0; - out_1867490309902370282[1] = 1; - out_1867490309902370282[2] = 0; - out_1867490309902370282[3] = 0; - out_1867490309902370282[4] = 0; - out_1867490309902370282[5] = 0; - out_1867490309902370282[6] = 0; - out_1867490309902370282[7] = 0; - out_1867490309902370282[8] = 0; +void H_29(double *state, double *unused, double *out_7156302532652141737) { + out_7156302532652141737[0] = 0; + out_7156302532652141737[1] = 1; + out_7156302532652141737[2] = 0; + out_7156302532652141737[3] = 0; + out_7156302532652141737[4] = 0; + out_7156302532652141737[5] = 0; + out_7156302532652141737[6] = 0; + out_7156302532652141737[7] = 0; + out_7156302532652141737[8] = 0; } -void h_28(double *state, double *unused, double *out_6538660297744367731) { - out_6538660297744367731[0] = state[0]; +void h_28(double *state, double *unused, double *out_284435010232819152) { + out_284435010232819152[0] = state[0]; } -void H_28(double *state, double *unused, double *out_3214908707167160292) { - out_3214908707167160292[0] = 1; - out_3214908707167160292[1] = 0; - out_3214908707167160292[2] = 0; - out_3214908707167160292[3] = 0; - out_3214908707167160292[4] = 0; - out_3214908707167160292[5] = 0; - out_3214908707167160292[6] = 0; - out_3214908707167160292[7] = 0; - out_3214908707167160292[8] = 0; +void H_28(double *state, double *unused, double *out_2073903515582611163) { + out_2073903515582611163[0] = 1; + out_2073903515582611163[1] = 0; + out_2073903515582611163[2] = 0; + out_2073903515582611163[3] = 0; + out_2073903515582611163[4] = 0; + out_2073903515582611163[5] = 0; + out_2073903515582611163[6] = 0; + out_2073903515582611163[7] = 0; + out_2073903515582611163[8] = 0; } -void h_31(double *state, double *unused, double *out_3804624550919326526) { - out_3804624550919326526[0] = state[8]; +void h_31(double *state, double *unused, double *out_2323097011897480891) { + out_2323097011897480891[0] = state[8]; } -void H_31(double *state, double *unused, double *out_5528785414026678229) { - out_5528785414026678229[0] = 0; - out_5528785414026678229[1] = 0; - out_5528785414026678229[2] = 0; - out_5528785414026678229[3] = 0; - out_5528785414026678229[4] = 0; - out_5528785414026678229[5] = 0; - out_5528785414026678229[6] = 0; - out_5528785414026678229[7] = 0; - out_5528785414026678229[8] = 1; +void H_31(double *state, double *unused, double *out_6806056097357950051) { + out_6806056097357950051[0] = 0; + out_6806056097357950051[1] = 0; + out_6806056097357950051[2] = 0; + out_6806056097357950051[3] = 0; + out_6806056097357950051[4] = 0; + out_6806056097357950051[5] = 0; + out_6806056097357950051[6] = 0; + out_6806056097357950051[7] = 0; + out_6806056097357950051[8] = 1; } #include #include @@ -518,68 +518,68 @@ void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, doubl void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea) { update<1, 3, 0>(in_x, in_P, h_31, H_31, NULL, in_z, in_R, in_ea, MAHA_THRESH_31); } -void car_err_fun(double *nom_x, double *delta_x, double *out_9051704423920016590) { - err_fun(nom_x, delta_x, out_9051704423920016590); +void car_err_fun(double *nom_x, double *delta_x, double *out_3483464759245960511) { + err_fun(nom_x, delta_x, out_3483464759245960511); } -void car_inv_err_fun(double *nom_x, double *true_x, double *out_8262520073968428420) { - inv_err_fun(nom_x, true_x, out_8262520073968428420); +void car_inv_err_fun(double *nom_x, double *true_x, double *out_7987823426960705532) { + inv_err_fun(nom_x, true_x, out_7987823426960705532); } -void car_H_mod_fun(double *state, double *out_8032114232992966708) { - H_mod_fun(state, out_8032114232992966708); +void car_H_mod_fun(double *state, double *out_7112895520366101703) { + H_mod_fun(state, out_7112895520366101703); } -void car_f_fun(double *state, double dt, double *out_4567942705157615163) { - f_fun(state, dt, out_4567942705157615163); +void car_f_fun(double *state, double dt, double *out_1262489871201988902) { + f_fun(state, dt, out_1262489871201988902); } -void car_F_fun(double *state, double dt, double *out_3687136313485263185) { - F_fun(state, dt, out_3687136313485263185); +void car_F_fun(double *state, double dt, double *out_8743492844107181083) { + F_fun(state, dt, out_8743492844107181083); } -void car_h_25(double *state, double *unused, double *out_2888373885214709447) { - h_25(state, unused, out_2888373885214709447); +void car_h_25(double *state, double *unused, double *out_3773728404526364058) { + h_25(state, unused, out_3773728404526364058); } -void car_H_25(double *state, double *unused, double *out_1161073992919270529) { - H_25(state, unused, out_1161073992919270529); +void car_H_25(double *state, double *unused, double *out_7272976555244193865) { + H_25(state, unused, out_7272976555244193865); } -void car_h_24(double *state, double *unused, double *out_3830852376846248192) { - h_24(state, unused, out_3830852376846248192); +void car_h_24(double *state, double *unused, double *out_3463504132316116315) { + h_24(state, unused, out_3463504132316116315); } -void car_H_24(double *state, double *unused, double *out_5907583319885779563) { - H_24(state, unused, out_5907583319885779563); +void car_H_24(double *state, double *unused, double *out_145415078432733028) { + H_24(state, unused, out_145415078432733028); } -void car_h_30(double *state, double *unused, double *out_6420652903810990987) { - h_30(state, unused, out_6420652903810990987); +void car_h_30(double *state, double *unused, double *out_4107544246227685127) { + h_30(state, unused, out_4107544246227685127); } -void car_H_30(double *state, double *unused, double *out_1357258965587978098) { - H_30(state, unused, out_1357258965587978098); +void car_H_30(double *state, double *unused, double *out_6646071188337749553) { + H_30(state, unused, out_6646071188337749553); } -void car_h_26(double *state, double *unused, double *out_1418979636150145342) { - h_26(state, unused, out_1418979636150145342); +void car_h_26(double *state, double *unused, double *out_3504228361551207610) { + h_26(state, unused, out_3504228361551207610); } -void car_H_26(double *state, double *unused, double *out_4902577311793326753) { - H_26(state, unused, out_4902577311793326753); +void car_H_26(double *state, double *unused, double *out_7432264199591301527) { + H_26(state, unused, out_7432264199591301527); } -void car_h_27(double *state, double *unused, double *out_6566216540079153322) { - h_27(state, unused, out_6566216540079153322); +void car_h_27(double *state, double *unused, double *out_8690091829877045805) { + h_27(state, unused, out_8690091829877045805); } -void car_H_27(double *state, double *unused, double *out_817504346212446813) { - H_27(state, unused, out_817504346212446813); +void car_H_27(double *state, double *unused, double *out_4471307876537324642) { + H_27(state, unused, out_4471307876537324642); } -void car_h_29(double *state, double *unused, double *out_5750748910700158548) { - h_29(state, unused, out_5750748910700158548); +void car_h_29(double *state, double *unused, double *out_5089628339562983239) { + h_29(state, unused, out_5089628339562983239); } -void car_H_29(double *state, double *unused, double *out_1867490309902370282) { - H_29(state, unused, out_1867490309902370282); +void car_H_29(double *state, double *unused, double *out_7156302532652141737) { + H_29(state, unused, out_7156302532652141737); } -void car_h_28(double *state, double *unused, double *out_6538660297744367731) { - h_28(state, unused, out_6538660297744367731); +void car_h_28(double *state, double *unused, double *out_284435010232819152) { + h_28(state, unused, out_284435010232819152); } -void car_H_28(double *state, double *unused, double *out_3214908707167160292) { - H_28(state, unused, out_3214908707167160292); +void car_H_28(double *state, double *unused, double *out_2073903515582611163) { + H_28(state, unused, out_2073903515582611163); } -void car_h_31(double *state, double *unused, double *out_3804624550919326526) { - h_31(state, unused, out_3804624550919326526); +void car_h_31(double *state, double *unused, double *out_2323097011897480891) { + h_31(state, unused, out_2323097011897480891); } -void car_H_31(double *state, double *unused, double *out_5528785414026678229) { - H_31(state, unused, out_5528785414026678229); +void car_H_31(double *state, double *unused, double *out_6806056097357950051) { + H_31(state, unused, out_6806056097357950051); } void car_predict(double *in_x, double *in_P, double *in_Q, double dt) { predict(in_x, in_P, in_Q, dt); diff --git a/openpilot/selfdrive/locationd/models/generated/car.h b/openpilot/selfdrive/locationd/models/generated/car.h index 71fd72b939..1e2a06dc34 100644 --- a/openpilot/selfdrive/locationd/models/generated/car.h +++ b/openpilot/selfdrive/locationd/models/generated/car.h @@ -9,27 +9,27 @@ void car_update_27(double *in_x, double *in_P, double *in_z, double *in_R, doubl void car_update_29(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea); void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea); void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea); -void car_err_fun(double *nom_x, double *delta_x, double *out_9051704423920016590); -void car_inv_err_fun(double *nom_x, double *true_x, double *out_8262520073968428420); -void car_H_mod_fun(double *state, double *out_8032114232992966708); -void car_f_fun(double *state, double dt, double *out_4567942705157615163); -void car_F_fun(double *state, double dt, double *out_3687136313485263185); -void car_h_25(double *state, double *unused, double *out_2888373885214709447); -void car_H_25(double *state, double *unused, double *out_1161073992919270529); -void car_h_24(double *state, double *unused, double *out_3830852376846248192); -void car_H_24(double *state, double *unused, double *out_5907583319885779563); -void car_h_30(double *state, double *unused, double *out_6420652903810990987); -void car_H_30(double *state, double *unused, double *out_1357258965587978098); -void car_h_26(double *state, double *unused, double *out_1418979636150145342); -void car_H_26(double *state, double *unused, double *out_4902577311793326753); -void car_h_27(double *state, double *unused, double *out_6566216540079153322); -void car_H_27(double *state, double *unused, double *out_817504346212446813); -void car_h_29(double *state, double *unused, double *out_5750748910700158548); -void car_H_29(double *state, double *unused, double *out_1867490309902370282); -void car_h_28(double *state, double *unused, double *out_6538660297744367731); -void car_H_28(double *state, double *unused, double *out_3214908707167160292); -void car_h_31(double *state, double *unused, double *out_3804624550919326526); -void car_H_31(double *state, double *unused, double *out_5528785414026678229); +void car_err_fun(double *nom_x, double *delta_x, double *out_3483464759245960511); +void car_inv_err_fun(double *nom_x, double *true_x, double *out_7987823426960705532); +void car_H_mod_fun(double *state, double *out_7112895520366101703); +void car_f_fun(double *state, double dt, double *out_1262489871201988902); +void car_F_fun(double *state, double dt, double *out_8743492844107181083); +void car_h_25(double *state, double *unused, double *out_3773728404526364058); +void car_H_25(double *state, double *unused, double *out_7272976555244193865); +void car_h_24(double *state, double *unused, double *out_3463504132316116315); +void car_H_24(double *state, double *unused, double *out_145415078432733028); +void car_h_30(double *state, double *unused, double *out_4107544246227685127); +void car_H_30(double *state, double *unused, double *out_6646071188337749553); +void car_h_26(double *state, double *unused, double *out_3504228361551207610); +void car_H_26(double *state, double *unused, double *out_7432264199591301527); +void car_h_27(double *state, double *unused, double *out_8690091829877045805); +void car_H_27(double *state, double *unused, double *out_4471307876537324642); +void car_h_29(double *state, double *unused, double *out_5089628339562983239); +void car_H_29(double *state, double *unused, double *out_7156302532652141737); +void car_h_28(double *state, double *unused, double *out_284435010232819152); +void car_H_28(double *state, double *unused, double *out_2073903515582611163); +void car_h_31(double *state, double *unused, double *out_2323097011897480891); +void car_H_31(double *state, double *unused, double *out_6806056097357950051); void car_predict(double *in_x, double *in_P, double *in_Q, double dt); void car_set_mass(double x); void car_set_rotational_inertia(double x); diff --git a/openpilot/selfdrive/locationd/models/generated/libcar.so b/openpilot/selfdrive/locationd/models/generated/libcar.so index 738d66b6eb627b1891c3df174546028556110697..17cf1c2fc78044afe1b804b6472dfcf560a4312a 100755 GIT binary patch delta 15589 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%0DS;!6{;6LSw?B`Ns?YcaEYn|F`0Z*ie7DqoP8| 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 diff --git a/openpilot/selfdrive/locationd/models/generated/libpose.so b/openpilot/selfdrive/locationd/models/generated/libpose.so index caeca51caadf8921c9feb5e54c2362e0062f65b6..55890744b19c4783661cb84104a4f09bf03b2f4e 100755 GIT binary patch delta 1869 zcmZwCd6-UB9KdncYX)N*-eDNbjBSR&ICnYc-m683YAk8hu2rcdqL7iOCaGSO-WK(y z1(ig_)U>=aDNHGnEk#k13~3BWk?+s*RR8qH=X>ux=Q;PBQ@(Le{cDtPOGv?sw`0(5!68nQc)N6P#2=K&dN!P9G+DDf9v8) z%hk%3EZbRJosyl(pHc_>_biE3DA;h|!h?o^j{qTh;uM^U({MU^;SBUfAN0kU=!gC| z3uogT6kz}cVh{%7Tnxc^I3E|_LR^H4F%*~JQe1}1aRsi#RTze=aSg7;b+{fkU^s5X zO&EcjaSLw6NZf`|xE-T026tdA#^Fxfh4GkxiMSh+P>jjA2UBn_reYfI!~J*wC3q0i z@epRJ9SdB`2iqEhH zpW_Rx#X5Y6_4o=Kuo0WE8C&o*w&ELni*4AB@9;f#U?+aSkJyEuup2*P4}QU3RAC?X z<5wKOZ>YvW)Zh>f<98gvA2^CX@fVKaIR2gytFU5_)RsgfbtEa0R7qV)JxP5@nxuiG zp`?+dv80J4UD8z2OcIr3NSaGpNHQfYC9Nb`lGc(olD3j;Nsc5}(oWJ|(m~Qu(#cB3 zD)OvdQ=>))wr!NJOlXuB8m*l8tp4kJ$A_$)oRwHmSYY*v=Pn!HB&qu4Thr%99c?Sy zXzlpMgtntYPbYQ^?P(PzkM7O4wx&j%!0~-wYtIXn@@(7FIT7hR-QNkma5Q7x&?D4j0q zqzm1n(n^=Jb-_xJ$Wo~(Aydpq%H{jh^YlEPr}I3Y?|b>5|NsBKZ{^0F%`36AMx~V$ zg)(cZM^8#wc(f#Q$Jm3N_Sy?)*Qv5PB^o1yCP+dunxYw+Ba9YkiB@Qh6r`dJ+9HB9 zq@x`&kcsxlLI-q2CuAcBoso+!=!$OWjy&X}2YR9az0ezdP>8-2b;{T>J|jE4zie1& zT5(cNC|n#$ot2aw8plON?F8eX>Y5u4&79G!Us6tTaZ+yb&=ZbIuETR;@hYRBB5#s0 zaYR;jICNlo{r{~OTUKeT%w)N(rS&JQa(vaYXq5pI7Hl|hq2a+tfFhiPemEJYpg&H< z01U(+oQA;|g41yZ&O|YWVi<;F1kS=poQ-pEF3!XGxB#PYAuhsbT#QR_DK5hpT#hSn zC9c9)T#a$K2G^nl*Wr5HfbqBy6L1qIViIn~WK6*=xD`_|4Y%QTOh+kZ;10~hotTB$ zxC?jV9+cr;%)xz_i~I2a9z+!7n1}gz2oGZc9zhI`;xRmqC$JDt;wi-OG#23*Jd5Y> zJQiaKUcifZ2`}Rnyo%TGI+kJ?-oTr93(N5~D)0{8#R|NK_wfNfL;{tl!bkWRpWsuh z#44;tH9o`VSc5O{CDvjczQTHZjSbj{Z?Fk9_!gV-9lpm8*n%JN6Kb&)KjRl{!>`zm z9oUKAunTqAjoNn1%ok|s%)w3B2=G9~RLS&|Ntj*?E2Y)Ou!vm{s2 zMbcH$P10Q@qE&fn+pLIX7?$U|uH#vb7r2fY__29I)(?n{TstExzND}~^^bL4J~bs_ z49-_`7Dr6i^(@~rZ4U+)rV+0lRip|Nhj!(w&B+mMn^xeuh8Y;za018Detdg>~^xY?eaJ_yKCmT zp6~0pA%n*^w)`OQ3{#tiJh$ltZV)YP$XBF?q^G1n(o51?(nlpq8w%Be4TA#9vfRK5 zJbsoAEXQ#g9e*818@6_Q(=>y?HC@~K_def*?{9jR;k%|CI9j_gwS8b-tbEn*{?QfH yeHAezro@ui5=Y`nw8T@171h2vyeWP8xC4#mryXguk>hSG=Dby6&7wdxtUd-+fM6&9 diff --git a/openpilot/selfdrive/locationd/models/generated/pose.cpp b/openpilot/selfdrive/locationd/models/generated/pose.cpp index c16d21980e..8ccbccd1f6 100644 --- a/openpilot/selfdrive/locationd/models/generated/pose.cpp +++ b/openpilot/selfdrive/locationd/models/generated/pose.cpp @@ -17,961 +17,961 @@ const static double MAHA_THRESH_14 = 7.814727903251177; * * * This file is part of 'ekf' * ******************************************************************************/ -void err_fun(double *nom_x, double *delta_x, double *out_1557287137713055710) { - out_1557287137713055710[0] = delta_x[0] + nom_x[0]; - out_1557287137713055710[1] = delta_x[1] + nom_x[1]; - out_1557287137713055710[2] = delta_x[2] + nom_x[2]; - out_1557287137713055710[3] = delta_x[3] + nom_x[3]; - out_1557287137713055710[4] = delta_x[4] + nom_x[4]; - out_1557287137713055710[5] = delta_x[5] + nom_x[5]; - out_1557287137713055710[6] = delta_x[6] + nom_x[6]; - out_1557287137713055710[7] = delta_x[7] + nom_x[7]; - out_1557287137713055710[8] = delta_x[8] + nom_x[8]; - out_1557287137713055710[9] = delta_x[9] + nom_x[9]; - out_1557287137713055710[10] = delta_x[10] + nom_x[10]; - out_1557287137713055710[11] = delta_x[11] + nom_x[11]; - out_1557287137713055710[12] = delta_x[12] + nom_x[12]; - out_1557287137713055710[13] = delta_x[13] + nom_x[13]; - out_1557287137713055710[14] = delta_x[14] + nom_x[14]; - out_1557287137713055710[15] = delta_x[15] + nom_x[15]; - out_1557287137713055710[16] = delta_x[16] + nom_x[16]; - out_1557287137713055710[17] = delta_x[17] + nom_x[17]; +void err_fun(double *nom_x, double *delta_x, double *out_2510165527669125945) { + out_2510165527669125945[0] = delta_x[0] + nom_x[0]; + out_2510165527669125945[1] = delta_x[1] + nom_x[1]; + out_2510165527669125945[2] = delta_x[2] + nom_x[2]; + out_2510165527669125945[3] = delta_x[3] + nom_x[3]; + out_2510165527669125945[4] = delta_x[4] + nom_x[4]; + out_2510165527669125945[5] = delta_x[5] + nom_x[5]; + out_2510165527669125945[6] = delta_x[6] + nom_x[6]; + out_2510165527669125945[7] = delta_x[7] + nom_x[7]; + out_2510165527669125945[8] = delta_x[8] + nom_x[8]; + out_2510165527669125945[9] = delta_x[9] + nom_x[9]; + out_2510165527669125945[10] = delta_x[10] + nom_x[10]; + out_2510165527669125945[11] = delta_x[11] + nom_x[11]; + out_2510165527669125945[12] = delta_x[12] + nom_x[12]; + out_2510165527669125945[13] = delta_x[13] + nom_x[13]; + out_2510165527669125945[14] = delta_x[14] + nom_x[14]; + out_2510165527669125945[15] = delta_x[15] + nom_x[15]; + out_2510165527669125945[16] = delta_x[16] + nom_x[16]; + out_2510165527669125945[17] = delta_x[17] + nom_x[17]; } -void inv_err_fun(double *nom_x, double *true_x, double *out_6312955019060494268) { - out_6312955019060494268[0] = -nom_x[0] + true_x[0]; - out_6312955019060494268[1] = -nom_x[1] + true_x[1]; - out_6312955019060494268[2] = -nom_x[2] + true_x[2]; - out_6312955019060494268[3] = -nom_x[3] + true_x[3]; - out_6312955019060494268[4] = -nom_x[4] + true_x[4]; - out_6312955019060494268[5] = -nom_x[5] + true_x[5]; - out_6312955019060494268[6] = -nom_x[6] + true_x[6]; - out_6312955019060494268[7] = -nom_x[7] + true_x[7]; - out_6312955019060494268[8] = -nom_x[8] + true_x[8]; - out_6312955019060494268[9] = -nom_x[9] + true_x[9]; - out_6312955019060494268[10] = -nom_x[10] + true_x[10]; - out_6312955019060494268[11] = -nom_x[11] + true_x[11]; - out_6312955019060494268[12] = -nom_x[12] + true_x[12]; - out_6312955019060494268[13] = -nom_x[13] + true_x[13]; - out_6312955019060494268[14] = -nom_x[14] + true_x[14]; - out_6312955019060494268[15] = -nom_x[15] + true_x[15]; - out_6312955019060494268[16] = -nom_x[16] + true_x[16]; - out_6312955019060494268[17] = -nom_x[17] + true_x[17]; +void inv_err_fun(double *nom_x, double *true_x, double *out_2827775544900411455) { + out_2827775544900411455[0] = -nom_x[0] + true_x[0]; + out_2827775544900411455[1] = -nom_x[1] + true_x[1]; + out_2827775544900411455[2] = -nom_x[2] + true_x[2]; + out_2827775544900411455[3] = -nom_x[3] + true_x[3]; + out_2827775544900411455[4] = -nom_x[4] + true_x[4]; + out_2827775544900411455[5] = -nom_x[5] + true_x[5]; + out_2827775544900411455[6] = -nom_x[6] + true_x[6]; + out_2827775544900411455[7] = -nom_x[7] + true_x[7]; + out_2827775544900411455[8] = -nom_x[8] + true_x[8]; + out_2827775544900411455[9] = -nom_x[9] + true_x[9]; + out_2827775544900411455[10] = -nom_x[10] + true_x[10]; + out_2827775544900411455[11] = -nom_x[11] + true_x[11]; + out_2827775544900411455[12] = -nom_x[12] + true_x[12]; + out_2827775544900411455[13] = -nom_x[13] + true_x[13]; + out_2827775544900411455[14] = -nom_x[14] + true_x[14]; + out_2827775544900411455[15] = -nom_x[15] + true_x[15]; + out_2827775544900411455[16] = -nom_x[16] + true_x[16]; + out_2827775544900411455[17] = -nom_x[17] + true_x[17]; } -void H_mod_fun(double *state, double *out_2002785547247954198) { - out_2002785547247954198[0] = 1.0; - out_2002785547247954198[1] = 0.0; - out_2002785547247954198[2] = 0.0; - out_2002785547247954198[3] = 0.0; - out_2002785547247954198[4] = 0.0; - out_2002785547247954198[5] = 0.0; - out_2002785547247954198[6] = 0.0; - out_2002785547247954198[7] = 0.0; - out_2002785547247954198[8] = 0.0; - out_2002785547247954198[9] = 0.0; - out_2002785547247954198[10] = 0.0; - out_2002785547247954198[11] = 0.0; - out_2002785547247954198[12] = 0.0; - out_2002785547247954198[13] = 0.0; - out_2002785547247954198[14] = 0.0; - out_2002785547247954198[15] = 0.0; - out_2002785547247954198[16] = 0.0; - out_2002785547247954198[17] = 0.0; - out_2002785547247954198[18] = 0.0; - out_2002785547247954198[19] = 1.0; - out_2002785547247954198[20] = 0.0; - out_2002785547247954198[21] = 0.0; - out_2002785547247954198[22] = 0.0; - out_2002785547247954198[23] = 0.0; - out_2002785547247954198[24] = 0.0; - out_2002785547247954198[25] = 0.0; - out_2002785547247954198[26] = 0.0; - out_2002785547247954198[27] = 0.0; - out_2002785547247954198[28] = 0.0; - out_2002785547247954198[29] = 0.0; - out_2002785547247954198[30] = 0.0; - out_2002785547247954198[31] = 0.0; - out_2002785547247954198[32] = 0.0; - out_2002785547247954198[33] = 0.0; - out_2002785547247954198[34] = 0.0; - out_2002785547247954198[35] = 0.0; - out_2002785547247954198[36] = 0.0; - out_2002785547247954198[37] = 0.0; - out_2002785547247954198[38] = 1.0; - out_2002785547247954198[39] = 0.0; - out_2002785547247954198[40] = 0.0; - out_2002785547247954198[41] = 0.0; - out_2002785547247954198[42] = 0.0; - out_2002785547247954198[43] = 0.0; - out_2002785547247954198[44] = 0.0; - out_2002785547247954198[45] = 0.0; - out_2002785547247954198[46] = 0.0; - out_2002785547247954198[47] = 0.0; - out_2002785547247954198[48] = 0.0; - out_2002785547247954198[49] = 0.0; - out_2002785547247954198[50] = 0.0; - out_2002785547247954198[51] = 0.0; - out_2002785547247954198[52] = 0.0; - out_2002785547247954198[53] = 0.0; - out_2002785547247954198[54] = 0.0; - out_2002785547247954198[55] = 0.0; - out_2002785547247954198[56] = 0.0; - out_2002785547247954198[57] = 1.0; - out_2002785547247954198[58] = 0.0; - out_2002785547247954198[59] = 0.0; - out_2002785547247954198[60] = 0.0; - out_2002785547247954198[61] = 0.0; - out_2002785547247954198[62] = 0.0; - out_2002785547247954198[63] = 0.0; - out_2002785547247954198[64] = 0.0; - out_2002785547247954198[65] = 0.0; - out_2002785547247954198[66] = 0.0; - out_2002785547247954198[67] = 0.0; - out_2002785547247954198[68] = 0.0; - out_2002785547247954198[69] = 0.0; - out_2002785547247954198[70] = 0.0; - out_2002785547247954198[71] = 0.0; - out_2002785547247954198[72] = 0.0; - out_2002785547247954198[73] = 0.0; - out_2002785547247954198[74] = 0.0; - out_2002785547247954198[75] = 0.0; - out_2002785547247954198[76] = 1.0; - out_2002785547247954198[77] = 0.0; - out_2002785547247954198[78] = 0.0; - out_2002785547247954198[79] = 0.0; - out_2002785547247954198[80] = 0.0; - out_2002785547247954198[81] = 0.0; - out_2002785547247954198[82] = 0.0; - out_2002785547247954198[83] = 0.0; - out_2002785547247954198[84] = 0.0; - out_2002785547247954198[85] = 0.0; - out_2002785547247954198[86] = 0.0; - out_2002785547247954198[87] = 0.0; - out_2002785547247954198[88] = 0.0; - out_2002785547247954198[89] = 0.0; - out_2002785547247954198[90] = 0.0; - out_2002785547247954198[91] = 0.0; - out_2002785547247954198[92] = 0.0; - out_2002785547247954198[93] = 0.0; - out_2002785547247954198[94] = 0.0; - out_2002785547247954198[95] = 1.0; - out_2002785547247954198[96] = 0.0; - out_2002785547247954198[97] = 0.0; - out_2002785547247954198[98] = 0.0; - out_2002785547247954198[99] = 0.0; - out_2002785547247954198[100] = 0.0; - out_2002785547247954198[101] = 0.0; - out_2002785547247954198[102] = 0.0; - out_2002785547247954198[103] = 0.0; - out_2002785547247954198[104] = 0.0; - out_2002785547247954198[105] = 0.0; - out_2002785547247954198[106] = 0.0; - out_2002785547247954198[107] = 0.0; - out_2002785547247954198[108] = 0.0; - out_2002785547247954198[109] = 0.0; - out_2002785547247954198[110] = 0.0; - out_2002785547247954198[111] = 0.0; - out_2002785547247954198[112] = 0.0; - out_2002785547247954198[113] = 0.0; - out_2002785547247954198[114] = 1.0; - out_2002785547247954198[115] = 0.0; - out_2002785547247954198[116] = 0.0; - out_2002785547247954198[117] = 0.0; - out_2002785547247954198[118] = 0.0; - out_2002785547247954198[119] = 0.0; - out_2002785547247954198[120] = 0.0; - out_2002785547247954198[121] = 0.0; - out_2002785547247954198[122] = 0.0; - out_2002785547247954198[123] = 0.0; - out_2002785547247954198[124] = 0.0; - out_2002785547247954198[125] = 0.0; - out_2002785547247954198[126] = 0.0; - out_2002785547247954198[127] = 0.0; - out_2002785547247954198[128] = 0.0; - out_2002785547247954198[129] = 0.0; - out_2002785547247954198[130] = 0.0; - out_2002785547247954198[131] = 0.0; - out_2002785547247954198[132] = 0.0; - out_2002785547247954198[133] = 1.0; - out_2002785547247954198[134] = 0.0; - out_2002785547247954198[135] = 0.0; - out_2002785547247954198[136] = 0.0; - out_2002785547247954198[137] = 0.0; - out_2002785547247954198[138] = 0.0; - out_2002785547247954198[139] = 0.0; - out_2002785547247954198[140] = 0.0; - out_2002785547247954198[141] = 0.0; - out_2002785547247954198[142] = 0.0; - out_2002785547247954198[143] = 0.0; - out_2002785547247954198[144] = 0.0; - out_2002785547247954198[145] = 0.0; - out_2002785547247954198[146] = 0.0; - out_2002785547247954198[147] = 0.0; - out_2002785547247954198[148] = 0.0; - out_2002785547247954198[149] = 0.0; - out_2002785547247954198[150] = 0.0; - out_2002785547247954198[151] = 0.0; - out_2002785547247954198[152] = 1.0; - out_2002785547247954198[153] = 0.0; - out_2002785547247954198[154] = 0.0; - out_2002785547247954198[155] = 0.0; - out_2002785547247954198[156] = 0.0; - out_2002785547247954198[157] = 0.0; - out_2002785547247954198[158] = 0.0; - out_2002785547247954198[159] = 0.0; - out_2002785547247954198[160] = 0.0; - out_2002785547247954198[161] = 0.0; - out_2002785547247954198[162] = 0.0; - out_2002785547247954198[163] = 0.0; - out_2002785547247954198[164] = 0.0; - out_2002785547247954198[165] = 0.0; - out_2002785547247954198[166] = 0.0; - out_2002785547247954198[167] = 0.0; - out_2002785547247954198[168] = 0.0; - out_2002785547247954198[169] = 0.0; - out_2002785547247954198[170] = 0.0; - out_2002785547247954198[171] = 1.0; - out_2002785547247954198[172] = 0.0; - out_2002785547247954198[173] = 0.0; - out_2002785547247954198[174] = 0.0; - out_2002785547247954198[175] = 0.0; - out_2002785547247954198[176] = 0.0; - out_2002785547247954198[177] = 0.0; - out_2002785547247954198[178] = 0.0; - out_2002785547247954198[179] = 0.0; - out_2002785547247954198[180] = 0.0; - out_2002785547247954198[181] = 0.0; - out_2002785547247954198[182] = 0.0; - out_2002785547247954198[183] = 0.0; - out_2002785547247954198[184] = 0.0; - out_2002785547247954198[185] = 0.0; - out_2002785547247954198[186] = 0.0; - out_2002785547247954198[187] = 0.0; - out_2002785547247954198[188] = 0.0; - out_2002785547247954198[189] = 0.0; - out_2002785547247954198[190] = 1.0; - out_2002785547247954198[191] = 0.0; - out_2002785547247954198[192] = 0.0; - out_2002785547247954198[193] = 0.0; - out_2002785547247954198[194] = 0.0; - out_2002785547247954198[195] = 0.0; - out_2002785547247954198[196] = 0.0; - out_2002785547247954198[197] = 0.0; - out_2002785547247954198[198] = 0.0; - out_2002785547247954198[199] = 0.0; - out_2002785547247954198[200] = 0.0; - out_2002785547247954198[201] = 0.0; - out_2002785547247954198[202] = 0.0; - out_2002785547247954198[203] = 0.0; - out_2002785547247954198[204] = 0.0; - out_2002785547247954198[205] = 0.0; - out_2002785547247954198[206] = 0.0; - out_2002785547247954198[207] = 0.0; - out_2002785547247954198[208] = 0.0; - out_2002785547247954198[209] = 1.0; - out_2002785547247954198[210] = 0.0; - out_2002785547247954198[211] = 0.0; - out_2002785547247954198[212] = 0.0; - out_2002785547247954198[213] = 0.0; - out_2002785547247954198[214] = 0.0; - out_2002785547247954198[215] = 0.0; - out_2002785547247954198[216] = 0.0; - out_2002785547247954198[217] = 0.0; - out_2002785547247954198[218] = 0.0; - out_2002785547247954198[219] = 0.0; - out_2002785547247954198[220] = 0.0; - out_2002785547247954198[221] = 0.0; - out_2002785547247954198[222] = 0.0; - out_2002785547247954198[223] = 0.0; - out_2002785547247954198[224] = 0.0; - out_2002785547247954198[225] = 0.0; - out_2002785547247954198[226] = 0.0; - out_2002785547247954198[227] = 0.0; - out_2002785547247954198[228] = 1.0; - out_2002785547247954198[229] = 0.0; - out_2002785547247954198[230] = 0.0; - out_2002785547247954198[231] = 0.0; - out_2002785547247954198[232] = 0.0; - out_2002785547247954198[233] = 0.0; - out_2002785547247954198[234] = 0.0; - out_2002785547247954198[235] = 0.0; - out_2002785547247954198[236] = 0.0; - out_2002785547247954198[237] = 0.0; - out_2002785547247954198[238] = 0.0; - out_2002785547247954198[239] = 0.0; - out_2002785547247954198[240] = 0.0; - out_2002785547247954198[241] = 0.0; - out_2002785547247954198[242] = 0.0; - out_2002785547247954198[243] = 0.0; - out_2002785547247954198[244] = 0.0; - out_2002785547247954198[245] = 0.0; - out_2002785547247954198[246] = 0.0; - out_2002785547247954198[247] = 1.0; - out_2002785547247954198[248] = 0.0; - out_2002785547247954198[249] = 0.0; - out_2002785547247954198[250] = 0.0; - out_2002785547247954198[251] = 0.0; - out_2002785547247954198[252] = 0.0; - out_2002785547247954198[253] = 0.0; - out_2002785547247954198[254] = 0.0; - out_2002785547247954198[255] = 0.0; - out_2002785547247954198[256] = 0.0; - out_2002785547247954198[257] = 0.0; - out_2002785547247954198[258] = 0.0; - out_2002785547247954198[259] = 0.0; - out_2002785547247954198[260] = 0.0; - out_2002785547247954198[261] = 0.0; - out_2002785547247954198[262] = 0.0; - out_2002785547247954198[263] = 0.0; - out_2002785547247954198[264] = 0.0; - out_2002785547247954198[265] = 0.0; - out_2002785547247954198[266] = 1.0; - out_2002785547247954198[267] = 0.0; - out_2002785547247954198[268] = 0.0; - out_2002785547247954198[269] = 0.0; - out_2002785547247954198[270] = 0.0; - out_2002785547247954198[271] = 0.0; - out_2002785547247954198[272] = 0.0; - out_2002785547247954198[273] = 0.0; - out_2002785547247954198[274] = 0.0; - out_2002785547247954198[275] = 0.0; - out_2002785547247954198[276] = 0.0; - out_2002785547247954198[277] = 0.0; - out_2002785547247954198[278] = 0.0; - out_2002785547247954198[279] = 0.0; - out_2002785547247954198[280] = 0.0; - out_2002785547247954198[281] = 0.0; - out_2002785547247954198[282] = 0.0; - out_2002785547247954198[283] = 0.0; - out_2002785547247954198[284] = 0.0; - out_2002785547247954198[285] = 1.0; - out_2002785547247954198[286] = 0.0; - out_2002785547247954198[287] = 0.0; - out_2002785547247954198[288] = 0.0; - out_2002785547247954198[289] = 0.0; - out_2002785547247954198[290] = 0.0; - out_2002785547247954198[291] = 0.0; - out_2002785547247954198[292] = 0.0; - out_2002785547247954198[293] = 0.0; - out_2002785547247954198[294] = 0.0; - out_2002785547247954198[295] = 0.0; - out_2002785547247954198[296] = 0.0; - out_2002785547247954198[297] = 0.0; - out_2002785547247954198[298] = 0.0; - out_2002785547247954198[299] = 0.0; - out_2002785547247954198[300] = 0.0; - out_2002785547247954198[301] = 0.0; - out_2002785547247954198[302] = 0.0; - out_2002785547247954198[303] = 0.0; - out_2002785547247954198[304] = 1.0; - out_2002785547247954198[305] = 0.0; - out_2002785547247954198[306] = 0.0; - out_2002785547247954198[307] = 0.0; - out_2002785547247954198[308] = 0.0; - out_2002785547247954198[309] = 0.0; - out_2002785547247954198[310] = 0.0; - out_2002785547247954198[311] = 0.0; - out_2002785547247954198[312] = 0.0; - out_2002785547247954198[313] = 0.0; - out_2002785547247954198[314] = 0.0; - out_2002785547247954198[315] = 0.0; - out_2002785547247954198[316] = 0.0; - out_2002785547247954198[317] = 0.0; - out_2002785547247954198[318] = 0.0; - out_2002785547247954198[319] = 0.0; - out_2002785547247954198[320] = 0.0; - out_2002785547247954198[321] = 0.0; - out_2002785547247954198[322] = 0.0; - out_2002785547247954198[323] = 1.0; +void H_mod_fun(double *state, double *out_6581160706960496502) { + out_6581160706960496502[0] = 1.0; + out_6581160706960496502[1] = 0.0; + out_6581160706960496502[2] = 0.0; + out_6581160706960496502[3] = 0.0; + out_6581160706960496502[4] = 0.0; + out_6581160706960496502[5] = 0.0; + out_6581160706960496502[6] = 0.0; + out_6581160706960496502[7] = 0.0; + out_6581160706960496502[8] = 0.0; + out_6581160706960496502[9] = 0.0; + out_6581160706960496502[10] = 0.0; + out_6581160706960496502[11] = 0.0; + out_6581160706960496502[12] = 0.0; + out_6581160706960496502[13] = 0.0; + out_6581160706960496502[14] = 0.0; + out_6581160706960496502[15] = 0.0; + out_6581160706960496502[16] = 0.0; + out_6581160706960496502[17] = 0.0; + out_6581160706960496502[18] = 0.0; + out_6581160706960496502[19] = 1.0; + out_6581160706960496502[20] = 0.0; + out_6581160706960496502[21] = 0.0; + out_6581160706960496502[22] = 0.0; + out_6581160706960496502[23] = 0.0; + out_6581160706960496502[24] = 0.0; + out_6581160706960496502[25] = 0.0; + out_6581160706960496502[26] = 0.0; + out_6581160706960496502[27] = 0.0; + out_6581160706960496502[28] = 0.0; + out_6581160706960496502[29] = 0.0; + out_6581160706960496502[30] = 0.0; + out_6581160706960496502[31] = 0.0; + out_6581160706960496502[32] = 0.0; + out_6581160706960496502[33] = 0.0; + out_6581160706960496502[34] = 0.0; + out_6581160706960496502[35] = 0.0; + out_6581160706960496502[36] = 0.0; + out_6581160706960496502[37] = 0.0; + out_6581160706960496502[38] = 1.0; + out_6581160706960496502[39] = 0.0; + out_6581160706960496502[40] = 0.0; + out_6581160706960496502[41] = 0.0; + out_6581160706960496502[42] = 0.0; + out_6581160706960496502[43] = 0.0; + out_6581160706960496502[44] = 0.0; + out_6581160706960496502[45] = 0.0; + out_6581160706960496502[46] = 0.0; + out_6581160706960496502[47] = 0.0; + out_6581160706960496502[48] = 0.0; + out_6581160706960496502[49] = 0.0; + out_6581160706960496502[50] = 0.0; + out_6581160706960496502[51] = 0.0; + out_6581160706960496502[52] = 0.0; + out_6581160706960496502[53] = 0.0; + out_6581160706960496502[54] = 0.0; + out_6581160706960496502[55] = 0.0; + out_6581160706960496502[56] = 0.0; + out_6581160706960496502[57] = 1.0; + out_6581160706960496502[58] = 0.0; + out_6581160706960496502[59] = 0.0; + out_6581160706960496502[60] = 0.0; + out_6581160706960496502[61] = 0.0; + out_6581160706960496502[62] = 0.0; + out_6581160706960496502[63] = 0.0; + out_6581160706960496502[64] = 0.0; + out_6581160706960496502[65] = 0.0; + out_6581160706960496502[66] = 0.0; + out_6581160706960496502[67] = 0.0; + out_6581160706960496502[68] = 0.0; + out_6581160706960496502[69] = 0.0; + out_6581160706960496502[70] = 0.0; + out_6581160706960496502[71] = 0.0; + out_6581160706960496502[72] = 0.0; + out_6581160706960496502[73] = 0.0; + out_6581160706960496502[74] = 0.0; + out_6581160706960496502[75] = 0.0; + out_6581160706960496502[76] = 1.0; + out_6581160706960496502[77] = 0.0; + out_6581160706960496502[78] = 0.0; + out_6581160706960496502[79] = 0.0; + out_6581160706960496502[80] = 0.0; + out_6581160706960496502[81] = 0.0; + out_6581160706960496502[82] = 0.0; + out_6581160706960496502[83] = 0.0; + out_6581160706960496502[84] = 0.0; + out_6581160706960496502[85] = 0.0; + out_6581160706960496502[86] = 0.0; + out_6581160706960496502[87] = 0.0; + out_6581160706960496502[88] = 0.0; + out_6581160706960496502[89] = 0.0; + out_6581160706960496502[90] = 0.0; + out_6581160706960496502[91] = 0.0; + out_6581160706960496502[92] = 0.0; + out_6581160706960496502[93] = 0.0; + out_6581160706960496502[94] = 0.0; + out_6581160706960496502[95] = 1.0; + out_6581160706960496502[96] = 0.0; + out_6581160706960496502[97] = 0.0; + out_6581160706960496502[98] = 0.0; + out_6581160706960496502[99] = 0.0; + out_6581160706960496502[100] = 0.0; + out_6581160706960496502[101] = 0.0; + out_6581160706960496502[102] = 0.0; + out_6581160706960496502[103] = 0.0; + out_6581160706960496502[104] = 0.0; + out_6581160706960496502[105] = 0.0; + out_6581160706960496502[106] = 0.0; + out_6581160706960496502[107] = 0.0; + out_6581160706960496502[108] = 0.0; + out_6581160706960496502[109] = 0.0; + out_6581160706960496502[110] = 0.0; + out_6581160706960496502[111] = 0.0; + out_6581160706960496502[112] = 0.0; + out_6581160706960496502[113] = 0.0; + out_6581160706960496502[114] = 1.0; + out_6581160706960496502[115] = 0.0; + out_6581160706960496502[116] = 0.0; + out_6581160706960496502[117] = 0.0; + out_6581160706960496502[118] = 0.0; + out_6581160706960496502[119] = 0.0; + out_6581160706960496502[120] = 0.0; + out_6581160706960496502[121] = 0.0; + out_6581160706960496502[122] = 0.0; + out_6581160706960496502[123] = 0.0; + out_6581160706960496502[124] = 0.0; + out_6581160706960496502[125] = 0.0; + out_6581160706960496502[126] = 0.0; + out_6581160706960496502[127] = 0.0; + out_6581160706960496502[128] = 0.0; + out_6581160706960496502[129] = 0.0; + out_6581160706960496502[130] = 0.0; + out_6581160706960496502[131] = 0.0; + out_6581160706960496502[132] = 0.0; + out_6581160706960496502[133] = 1.0; + out_6581160706960496502[134] = 0.0; + out_6581160706960496502[135] = 0.0; + out_6581160706960496502[136] = 0.0; + out_6581160706960496502[137] = 0.0; + out_6581160706960496502[138] = 0.0; + out_6581160706960496502[139] = 0.0; + out_6581160706960496502[140] = 0.0; + out_6581160706960496502[141] = 0.0; + out_6581160706960496502[142] = 0.0; + out_6581160706960496502[143] = 0.0; + out_6581160706960496502[144] = 0.0; + out_6581160706960496502[145] = 0.0; + out_6581160706960496502[146] = 0.0; + out_6581160706960496502[147] = 0.0; + out_6581160706960496502[148] = 0.0; + out_6581160706960496502[149] = 0.0; + out_6581160706960496502[150] = 0.0; + out_6581160706960496502[151] = 0.0; + out_6581160706960496502[152] = 1.0; + out_6581160706960496502[153] = 0.0; + out_6581160706960496502[154] = 0.0; + out_6581160706960496502[155] = 0.0; + out_6581160706960496502[156] = 0.0; + out_6581160706960496502[157] = 0.0; + out_6581160706960496502[158] = 0.0; + out_6581160706960496502[159] = 0.0; + out_6581160706960496502[160] = 0.0; + out_6581160706960496502[161] = 0.0; + out_6581160706960496502[162] = 0.0; + out_6581160706960496502[163] = 0.0; + out_6581160706960496502[164] = 0.0; + out_6581160706960496502[165] = 0.0; + out_6581160706960496502[166] = 0.0; + out_6581160706960496502[167] = 0.0; + out_6581160706960496502[168] = 0.0; + out_6581160706960496502[169] = 0.0; + out_6581160706960496502[170] = 0.0; + out_6581160706960496502[171] = 1.0; + out_6581160706960496502[172] = 0.0; + out_6581160706960496502[173] = 0.0; + out_6581160706960496502[174] = 0.0; + out_6581160706960496502[175] = 0.0; + out_6581160706960496502[176] = 0.0; + out_6581160706960496502[177] = 0.0; + out_6581160706960496502[178] = 0.0; + out_6581160706960496502[179] = 0.0; + out_6581160706960496502[180] = 0.0; + out_6581160706960496502[181] = 0.0; + out_6581160706960496502[182] = 0.0; + out_6581160706960496502[183] = 0.0; + out_6581160706960496502[184] = 0.0; + out_6581160706960496502[185] = 0.0; + out_6581160706960496502[186] = 0.0; + out_6581160706960496502[187] = 0.0; + out_6581160706960496502[188] = 0.0; + out_6581160706960496502[189] = 0.0; + out_6581160706960496502[190] = 1.0; + out_6581160706960496502[191] = 0.0; + out_6581160706960496502[192] = 0.0; + out_6581160706960496502[193] = 0.0; + out_6581160706960496502[194] = 0.0; + out_6581160706960496502[195] = 0.0; + out_6581160706960496502[196] = 0.0; + out_6581160706960496502[197] = 0.0; + out_6581160706960496502[198] = 0.0; + out_6581160706960496502[199] = 0.0; + out_6581160706960496502[200] = 0.0; + out_6581160706960496502[201] = 0.0; + out_6581160706960496502[202] = 0.0; + out_6581160706960496502[203] = 0.0; + out_6581160706960496502[204] = 0.0; + out_6581160706960496502[205] = 0.0; + out_6581160706960496502[206] = 0.0; + out_6581160706960496502[207] = 0.0; + out_6581160706960496502[208] = 0.0; + out_6581160706960496502[209] = 1.0; + out_6581160706960496502[210] = 0.0; + out_6581160706960496502[211] = 0.0; + out_6581160706960496502[212] = 0.0; + out_6581160706960496502[213] = 0.0; + out_6581160706960496502[214] = 0.0; + out_6581160706960496502[215] = 0.0; + out_6581160706960496502[216] = 0.0; + out_6581160706960496502[217] = 0.0; + out_6581160706960496502[218] = 0.0; + out_6581160706960496502[219] = 0.0; + out_6581160706960496502[220] = 0.0; + out_6581160706960496502[221] = 0.0; + out_6581160706960496502[222] = 0.0; + out_6581160706960496502[223] = 0.0; + out_6581160706960496502[224] = 0.0; + out_6581160706960496502[225] = 0.0; + out_6581160706960496502[226] = 0.0; + out_6581160706960496502[227] = 0.0; + out_6581160706960496502[228] = 1.0; + out_6581160706960496502[229] = 0.0; + out_6581160706960496502[230] = 0.0; + out_6581160706960496502[231] = 0.0; + out_6581160706960496502[232] = 0.0; + out_6581160706960496502[233] = 0.0; + out_6581160706960496502[234] = 0.0; + out_6581160706960496502[235] = 0.0; + out_6581160706960496502[236] = 0.0; + out_6581160706960496502[237] = 0.0; + out_6581160706960496502[238] = 0.0; + out_6581160706960496502[239] = 0.0; + out_6581160706960496502[240] = 0.0; + out_6581160706960496502[241] = 0.0; + out_6581160706960496502[242] = 0.0; + out_6581160706960496502[243] = 0.0; + out_6581160706960496502[244] = 0.0; + out_6581160706960496502[245] = 0.0; + out_6581160706960496502[246] = 0.0; + out_6581160706960496502[247] = 1.0; + out_6581160706960496502[248] = 0.0; + out_6581160706960496502[249] = 0.0; + out_6581160706960496502[250] = 0.0; + out_6581160706960496502[251] = 0.0; + out_6581160706960496502[252] = 0.0; + out_6581160706960496502[253] = 0.0; + out_6581160706960496502[254] = 0.0; + out_6581160706960496502[255] = 0.0; + out_6581160706960496502[256] = 0.0; + out_6581160706960496502[257] = 0.0; + out_6581160706960496502[258] = 0.0; + out_6581160706960496502[259] = 0.0; + out_6581160706960496502[260] = 0.0; + out_6581160706960496502[261] = 0.0; + out_6581160706960496502[262] = 0.0; + out_6581160706960496502[263] = 0.0; + out_6581160706960496502[264] = 0.0; + out_6581160706960496502[265] = 0.0; + out_6581160706960496502[266] = 1.0; + out_6581160706960496502[267] = 0.0; + out_6581160706960496502[268] = 0.0; + out_6581160706960496502[269] = 0.0; + out_6581160706960496502[270] = 0.0; + out_6581160706960496502[271] = 0.0; + out_6581160706960496502[272] = 0.0; + out_6581160706960496502[273] = 0.0; + out_6581160706960496502[274] = 0.0; + out_6581160706960496502[275] = 0.0; + out_6581160706960496502[276] = 0.0; + out_6581160706960496502[277] = 0.0; + out_6581160706960496502[278] = 0.0; + out_6581160706960496502[279] = 0.0; + out_6581160706960496502[280] = 0.0; + out_6581160706960496502[281] = 0.0; + out_6581160706960496502[282] = 0.0; + out_6581160706960496502[283] = 0.0; + out_6581160706960496502[284] = 0.0; + out_6581160706960496502[285] = 1.0; + out_6581160706960496502[286] = 0.0; + out_6581160706960496502[287] = 0.0; + out_6581160706960496502[288] = 0.0; + out_6581160706960496502[289] = 0.0; + out_6581160706960496502[290] = 0.0; + out_6581160706960496502[291] = 0.0; + out_6581160706960496502[292] = 0.0; + out_6581160706960496502[293] = 0.0; + out_6581160706960496502[294] = 0.0; + out_6581160706960496502[295] = 0.0; + out_6581160706960496502[296] = 0.0; + out_6581160706960496502[297] = 0.0; + out_6581160706960496502[298] = 0.0; + out_6581160706960496502[299] = 0.0; + out_6581160706960496502[300] = 0.0; + out_6581160706960496502[301] = 0.0; + out_6581160706960496502[302] = 0.0; + out_6581160706960496502[303] = 0.0; + out_6581160706960496502[304] = 1.0; + out_6581160706960496502[305] = 0.0; + out_6581160706960496502[306] = 0.0; + out_6581160706960496502[307] = 0.0; + out_6581160706960496502[308] = 0.0; + out_6581160706960496502[309] = 0.0; + out_6581160706960496502[310] = 0.0; + out_6581160706960496502[311] = 0.0; + out_6581160706960496502[312] = 0.0; + out_6581160706960496502[313] = 0.0; + out_6581160706960496502[314] = 0.0; + out_6581160706960496502[315] = 0.0; + out_6581160706960496502[316] = 0.0; + out_6581160706960496502[317] = 0.0; + out_6581160706960496502[318] = 0.0; + out_6581160706960496502[319] = 0.0; + out_6581160706960496502[320] = 0.0; + out_6581160706960496502[321] = 0.0; + out_6581160706960496502[322] = 0.0; + out_6581160706960496502[323] = 1.0; } -void f_fun(double *state, double dt, double *out_7460364811199515324) { - out_7460364811199515324[0] = atan2((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), -(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1])); - out_7460364811199515324[1] = asin(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8])); - out_7460364811199515324[2] = atan2(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), -(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2])); - out_7460364811199515324[3] = dt*state[12] + state[3]; - out_7460364811199515324[4] = dt*state[13] + state[4]; - out_7460364811199515324[5] = dt*state[14] + state[5]; - out_7460364811199515324[6] = state[6]; - out_7460364811199515324[7] = state[7]; - out_7460364811199515324[8] = state[8]; - out_7460364811199515324[9] = state[9]; - out_7460364811199515324[10] = state[10]; - out_7460364811199515324[11] = state[11]; - out_7460364811199515324[12] = state[12]; - out_7460364811199515324[13] = state[13]; - out_7460364811199515324[14] = state[14]; - out_7460364811199515324[15] = state[15]; - out_7460364811199515324[16] = state[16]; - out_7460364811199515324[17] = state[17]; +void f_fun(double *state, double dt, double *out_1715652979675739070) { + out_1715652979675739070[0] = atan2((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), -(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1])); + out_1715652979675739070[1] = asin(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8])); + out_1715652979675739070[2] = atan2(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), -(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2])); + out_1715652979675739070[3] = dt*state[12] + state[3]; + out_1715652979675739070[4] = dt*state[13] + state[4]; + out_1715652979675739070[5] = dt*state[14] + state[5]; + out_1715652979675739070[6] = state[6]; + out_1715652979675739070[7] = state[7]; + out_1715652979675739070[8] = state[8]; + out_1715652979675739070[9] = state[9]; + out_1715652979675739070[10] = state[10]; + out_1715652979675739070[11] = state[11]; + out_1715652979675739070[12] = state[12]; + out_1715652979675739070[13] = state[13]; + out_1715652979675739070[14] = state[14]; + out_1715652979675739070[15] = state[15]; + out_1715652979675739070[16] = state[16]; + out_1715652979675739070[17] = state[17]; } -void F_fun(double *state, double dt, double *out_3737951720851394665) { - out_3737951720851394665[0] = ((-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*cos(state[0])*cos(state[1]) - sin(state[0])*cos(dt*state[6])*cos(dt*state[7])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + ((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*cos(state[0])*cos(state[1]) - sin(dt*state[6])*sin(state[0])*cos(dt*state[7])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); - out_3737951720851394665[1] = ((-sin(dt*state[6])*sin(dt*state[8]) - sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*cos(state[1]) - (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*sin(state[1]) - sin(state[1])*cos(dt*state[6])*cos(dt*state[7])*cos(state[0]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + (-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*sin(state[1]) + (-sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) + sin(dt*state[8])*cos(dt*state[6]))*cos(state[1]) - sin(dt*state[6])*sin(state[1])*cos(dt*state[7])*cos(state[0]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); - out_3737951720851394665[2] = 0; - out_3737951720851394665[3] = 0; - out_3737951720851394665[4] = 0; - out_3737951720851394665[5] = 0; - out_3737951720851394665[6] = (-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(dt*cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]) + (-dt*sin(dt*state[6])*sin(dt*state[8]) - dt*sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-dt*sin(dt*state[6])*cos(dt*state[8]) + dt*sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + (-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-dt*sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]) + (-dt*sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) - dt*cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (dt*sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); - out_3737951720851394665[7] = (-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-dt*sin(dt*state[6])*sin(dt*state[7])*cos(state[0])*cos(state[1]) + dt*sin(dt*state[6])*sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) - dt*sin(dt*state[6])*sin(state[1])*cos(dt*state[7])*cos(dt*state[8]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + (-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-dt*sin(dt*state[7])*cos(dt*state[6])*cos(state[0])*cos(state[1]) + dt*sin(dt*state[8])*sin(state[0])*cos(dt*state[6])*cos(dt*state[7])*cos(state[1]) - dt*sin(state[1])*cos(dt*state[6])*cos(dt*state[7])*cos(dt*state[8]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); - out_3737951720851394665[8] = ((dt*sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + dt*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (dt*sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + ((dt*sin(dt*state[6])*sin(dt*state[8]) + dt*sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (-dt*sin(dt*state[6])*cos(dt*state[8]) + dt*sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); - out_3737951720851394665[9] = 0; - out_3737951720851394665[10] = 0; - out_3737951720851394665[11] = 0; - out_3737951720851394665[12] = 0; - out_3737951720851394665[13] = 0; - out_3737951720851394665[14] = 0; - out_3737951720851394665[15] = 0; - out_3737951720851394665[16] = 0; - out_3737951720851394665[17] = 0; - out_3737951720851394665[18] = (-sin(dt*state[7])*sin(state[0])*cos(state[1]) - sin(dt*state[8])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); - out_3737951720851394665[19] = (-sin(dt*state[7])*sin(state[1])*cos(state[0]) + sin(dt*state[8])*sin(state[0])*sin(state[1])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); - out_3737951720851394665[20] = 0; - out_3737951720851394665[21] = 0; - out_3737951720851394665[22] = 0; - out_3737951720851394665[23] = 0; - out_3737951720851394665[24] = 0; - out_3737951720851394665[25] = (dt*sin(dt*state[7])*sin(dt*state[8])*sin(state[0])*cos(state[1]) - dt*sin(dt*state[7])*sin(state[1])*cos(dt*state[8]) + dt*cos(dt*state[7])*cos(state[0])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); - out_3737951720851394665[26] = (-dt*sin(dt*state[8])*sin(state[1])*cos(dt*state[7]) - dt*sin(state[0])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); - out_3737951720851394665[27] = 0; - out_3737951720851394665[28] = 0; - out_3737951720851394665[29] = 0; - out_3737951720851394665[30] = 0; - out_3737951720851394665[31] = 0; - out_3737951720851394665[32] = 0; - out_3737951720851394665[33] = 0; - out_3737951720851394665[34] = 0; - out_3737951720851394665[35] = 0; - out_3737951720851394665[36] = ((sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[7]))*((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[7]))*(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); - out_3737951720851394665[37] = (-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))*(-sin(dt*state[7])*sin(state[2])*cos(state[0])*cos(state[1]) + sin(dt*state[8])*sin(state[0])*sin(state[2])*cos(dt*state[7])*cos(state[1]) - sin(state[1])*sin(state[2])*cos(dt*state[7])*cos(dt*state[8]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))*(-sin(dt*state[7])*cos(state[0])*cos(state[1])*cos(state[2]) + sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1])*cos(state[2]) - sin(state[1])*cos(dt*state[7])*cos(dt*state[8])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); - out_3737951720851394665[38] = ((-sin(state[0])*sin(state[2]) - sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))*(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (-sin(state[0])*sin(state[1])*sin(state[2]) - cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))*((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); - out_3737951720851394665[39] = 0; - out_3737951720851394665[40] = 0; - out_3737951720851394665[41] = 0; - out_3737951720851394665[42] = 0; - out_3737951720851394665[43] = (-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))*(dt*(sin(state[0])*cos(state[2]) - sin(state[1])*sin(state[2])*cos(state[0]))*cos(dt*state[7]) - dt*(sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[7])*sin(dt*state[8]) - dt*sin(dt*state[7])*sin(state[2])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))*(dt*(-sin(state[0])*sin(state[2]) - sin(state[1])*cos(state[0])*cos(state[2]))*cos(dt*state[7]) - dt*(sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[7])*sin(dt*state[8]) - dt*sin(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); - out_3737951720851394665[44] = (dt*(sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*cos(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*sin(state[2])*cos(dt*state[7])*cos(state[1]))*(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + (dt*(sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*cos(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*cos(dt*state[7])*cos(state[1])*cos(state[2]))*((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); - out_3737951720851394665[45] = 0; - out_3737951720851394665[46] = 0; - out_3737951720851394665[47] = 0; - out_3737951720851394665[48] = 0; - out_3737951720851394665[49] = 0; - out_3737951720851394665[50] = 0; - out_3737951720851394665[51] = 0; - out_3737951720851394665[52] = 0; - out_3737951720851394665[53] = 0; - out_3737951720851394665[54] = 0; - out_3737951720851394665[55] = 0; - out_3737951720851394665[56] = 0; - out_3737951720851394665[57] = 1; - out_3737951720851394665[58] = 0; - out_3737951720851394665[59] = 0; - out_3737951720851394665[60] = 0; - out_3737951720851394665[61] = 0; - out_3737951720851394665[62] = 0; - out_3737951720851394665[63] = 0; - out_3737951720851394665[64] = 0; - out_3737951720851394665[65] = 0; - out_3737951720851394665[66] = dt; - out_3737951720851394665[67] = 0; - out_3737951720851394665[68] = 0; - out_3737951720851394665[69] = 0; - out_3737951720851394665[70] = 0; - out_3737951720851394665[71] = 0; - out_3737951720851394665[72] = 0; - out_3737951720851394665[73] = 0; - out_3737951720851394665[74] = 0; - out_3737951720851394665[75] = 0; - out_3737951720851394665[76] = 1; - out_3737951720851394665[77] = 0; - out_3737951720851394665[78] = 0; - out_3737951720851394665[79] = 0; - out_3737951720851394665[80] = 0; - out_3737951720851394665[81] = 0; - out_3737951720851394665[82] = 0; - out_3737951720851394665[83] = 0; - out_3737951720851394665[84] = 0; - out_3737951720851394665[85] = dt; - out_3737951720851394665[86] = 0; - out_3737951720851394665[87] = 0; - out_3737951720851394665[88] = 0; - out_3737951720851394665[89] = 0; - out_3737951720851394665[90] = 0; - out_3737951720851394665[91] = 0; - out_3737951720851394665[92] = 0; - out_3737951720851394665[93] = 0; - out_3737951720851394665[94] = 0; - out_3737951720851394665[95] = 1; - out_3737951720851394665[96] = 0; - out_3737951720851394665[97] = 0; - out_3737951720851394665[98] = 0; - out_3737951720851394665[99] = 0; - out_3737951720851394665[100] = 0; - out_3737951720851394665[101] = 0; - out_3737951720851394665[102] = 0; - out_3737951720851394665[103] = 0; - out_3737951720851394665[104] = dt; - out_3737951720851394665[105] = 0; - out_3737951720851394665[106] = 0; - out_3737951720851394665[107] = 0; - out_3737951720851394665[108] = 0; - out_3737951720851394665[109] = 0; - out_3737951720851394665[110] = 0; - out_3737951720851394665[111] = 0; - out_3737951720851394665[112] = 0; - out_3737951720851394665[113] = 0; - out_3737951720851394665[114] = 1; - out_3737951720851394665[115] = 0; - out_3737951720851394665[116] = 0; - out_3737951720851394665[117] = 0; - out_3737951720851394665[118] = 0; - out_3737951720851394665[119] = 0; - out_3737951720851394665[120] = 0; - out_3737951720851394665[121] = 0; - out_3737951720851394665[122] = 0; - out_3737951720851394665[123] = 0; - out_3737951720851394665[124] = 0; - out_3737951720851394665[125] = 0; - out_3737951720851394665[126] = 0; - out_3737951720851394665[127] = 0; - out_3737951720851394665[128] = 0; - out_3737951720851394665[129] = 0; - out_3737951720851394665[130] = 0; - out_3737951720851394665[131] = 0; - out_3737951720851394665[132] = 0; - out_3737951720851394665[133] = 1; - out_3737951720851394665[134] = 0; - out_3737951720851394665[135] = 0; - out_3737951720851394665[136] = 0; - out_3737951720851394665[137] = 0; - out_3737951720851394665[138] = 0; - out_3737951720851394665[139] = 0; - out_3737951720851394665[140] = 0; - out_3737951720851394665[141] = 0; - out_3737951720851394665[142] = 0; - out_3737951720851394665[143] = 0; - out_3737951720851394665[144] = 0; - out_3737951720851394665[145] = 0; - out_3737951720851394665[146] = 0; - out_3737951720851394665[147] = 0; - out_3737951720851394665[148] = 0; - out_3737951720851394665[149] = 0; - out_3737951720851394665[150] = 0; - out_3737951720851394665[151] = 0; - out_3737951720851394665[152] = 1; - out_3737951720851394665[153] = 0; - out_3737951720851394665[154] = 0; - out_3737951720851394665[155] = 0; - out_3737951720851394665[156] = 0; - out_3737951720851394665[157] = 0; - out_3737951720851394665[158] = 0; - out_3737951720851394665[159] = 0; - out_3737951720851394665[160] = 0; - out_3737951720851394665[161] = 0; - out_3737951720851394665[162] = 0; - out_3737951720851394665[163] = 0; - out_3737951720851394665[164] = 0; - out_3737951720851394665[165] = 0; - out_3737951720851394665[166] = 0; - out_3737951720851394665[167] = 0; - out_3737951720851394665[168] = 0; - out_3737951720851394665[169] = 0; - out_3737951720851394665[170] = 0; - out_3737951720851394665[171] = 1; - out_3737951720851394665[172] = 0; - out_3737951720851394665[173] = 0; - out_3737951720851394665[174] = 0; - out_3737951720851394665[175] = 0; - out_3737951720851394665[176] = 0; - out_3737951720851394665[177] = 0; - out_3737951720851394665[178] = 0; - out_3737951720851394665[179] = 0; - out_3737951720851394665[180] = 0; - out_3737951720851394665[181] = 0; - out_3737951720851394665[182] = 0; - out_3737951720851394665[183] = 0; - out_3737951720851394665[184] = 0; - out_3737951720851394665[185] = 0; - out_3737951720851394665[186] = 0; - out_3737951720851394665[187] = 0; - out_3737951720851394665[188] = 0; - out_3737951720851394665[189] = 0; - out_3737951720851394665[190] = 1; - out_3737951720851394665[191] = 0; - out_3737951720851394665[192] = 0; - out_3737951720851394665[193] = 0; - out_3737951720851394665[194] = 0; - out_3737951720851394665[195] = 0; - out_3737951720851394665[196] = 0; - out_3737951720851394665[197] = 0; - out_3737951720851394665[198] = 0; - out_3737951720851394665[199] = 0; - out_3737951720851394665[200] = 0; - out_3737951720851394665[201] = 0; - out_3737951720851394665[202] = 0; - out_3737951720851394665[203] = 0; - out_3737951720851394665[204] = 0; - out_3737951720851394665[205] = 0; - out_3737951720851394665[206] = 0; - out_3737951720851394665[207] = 0; - out_3737951720851394665[208] = 0; - out_3737951720851394665[209] = 1; - out_3737951720851394665[210] = 0; - out_3737951720851394665[211] = 0; - out_3737951720851394665[212] = 0; - out_3737951720851394665[213] = 0; - out_3737951720851394665[214] = 0; - out_3737951720851394665[215] = 0; - out_3737951720851394665[216] = 0; - out_3737951720851394665[217] = 0; - out_3737951720851394665[218] = 0; - out_3737951720851394665[219] = 0; - out_3737951720851394665[220] = 0; - out_3737951720851394665[221] = 0; - out_3737951720851394665[222] = 0; - out_3737951720851394665[223] = 0; - out_3737951720851394665[224] = 0; - out_3737951720851394665[225] = 0; - out_3737951720851394665[226] = 0; - out_3737951720851394665[227] = 0; - out_3737951720851394665[228] = 1; - out_3737951720851394665[229] = 0; - out_3737951720851394665[230] = 0; - out_3737951720851394665[231] = 0; - out_3737951720851394665[232] = 0; - out_3737951720851394665[233] = 0; - out_3737951720851394665[234] = 0; - out_3737951720851394665[235] = 0; - out_3737951720851394665[236] = 0; - out_3737951720851394665[237] = 0; - out_3737951720851394665[238] = 0; - out_3737951720851394665[239] = 0; - out_3737951720851394665[240] = 0; - out_3737951720851394665[241] = 0; - out_3737951720851394665[242] = 0; - out_3737951720851394665[243] = 0; - out_3737951720851394665[244] = 0; - out_3737951720851394665[245] = 0; - out_3737951720851394665[246] = 0; - out_3737951720851394665[247] = 1; - out_3737951720851394665[248] = 0; - out_3737951720851394665[249] = 0; - out_3737951720851394665[250] = 0; - out_3737951720851394665[251] = 0; - out_3737951720851394665[252] = 0; - out_3737951720851394665[253] = 0; - out_3737951720851394665[254] = 0; - out_3737951720851394665[255] = 0; - out_3737951720851394665[256] = 0; - out_3737951720851394665[257] = 0; - out_3737951720851394665[258] = 0; - out_3737951720851394665[259] = 0; - out_3737951720851394665[260] = 0; - out_3737951720851394665[261] = 0; - out_3737951720851394665[262] = 0; - out_3737951720851394665[263] = 0; - out_3737951720851394665[264] = 0; - out_3737951720851394665[265] = 0; - out_3737951720851394665[266] = 1; - out_3737951720851394665[267] = 0; - out_3737951720851394665[268] = 0; - out_3737951720851394665[269] = 0; - out_3737951720851394665[270] = 0; - out_3737951720851394665[271] = 0; - out_3737951720851394665[272] = 0; - out_3737951720851394665[273] = 0; - out_3737951720851394665[274] = 0; - out_3737951720851394665[275] = 0; - out_3737951720851394665[276] = 0; - out_3737951720851394665[277] = 0; - out_3737951720851394665[278] = 0; - out_3737951720851394665[279] = 0; - out_3737951720851394665[280] = 0; - out_3737951720851394665[281] = 0; - out_3737951720851394665[282] = 0; - out_3737951720851394665[283] = 0; - out_3737951720851394665[284] = 0; - out_3737951720851394665[285] = 1; - out_3737951720851394665[286] = 0; - out_3737951720851394665[287] = 0; - out_3737951720851394665[288] = 0; - out_3737951720851394665[289] = 0; - out_3737951720851394665[290] = 0; - out_3737951720851394665[291] = 0; - out_3737951720851394665[292] = 0; - out_3737951720851394665[293] = 0; - out_3737951720851394665[294] = 0; - out_3737951720851394665[295] = 0; - out_3737951720851394665[296] = 0; - out_3737951720851394665[297] = 0; - out_3737951720851394665[298] = 0; - out_3737951720851394665[299] = 0; - out_3737951720851394665[300] = 0; - out_3737951720851394665[301] = 0; - out_3737951720851394665[302] = 0; - out_3737951720851394665[303] = 0; - out_3737951720851394665[304] = 1; - out_3737951720851394665[305] = 0; - out_3737951720851394665[306] = 0; - out_3737951720851394665[307] = 0; - out_3737951720851394665[308] = 0; - out_3737951720851394665[309] = 0; - out_3737951720851394665[310] = 0; - out_3737951720851394665[311] = 0; - out_3737951720851394665[312] = 0; - out_3737951720851394665[313] = 0; - out_3737951720851394665[314] = 0; - out_3737951720851394665[315] = 0; - out_3737951720851394665[316] = 0; - out_3737951720851394665[317] = 0; - out_3737951720851394665[318] = 0; - out_3737951720851394665[319] = 0; - out_3737951720851394665[320] = 0; - out_3737951720851394665[321] = 0; - out_3737951720851394665[322] = 0; - out_3737951720851394665[323] = 1; +void F_fun(double *state, double dt, double *out_7854120589136729219) { + out_7854120589136729219[0] = ((-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*cos(state[0])*cos(state[1]) - sin(state[0])*cos(dt*state[6])*cos(dt*state[7])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + ((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*cos(state[0])*cos(state[1]) - sin(dt*state[6])*sin(state[0])*cos(dt*state[7])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); + out_7854120589136729219[1] = ((-sin(dt*state[6])*sin(dt*state[8]) - sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*cos(state[1]) - (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*sin(state[1]) - sin(state[1])*cos(dt*state[6])*cos(dt*state[7])*cos(state[0]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + (-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*sin(state[1]) + (-sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) + sin(dt*state[8])*cos(dt*state[6]))*cos(state[1]) - sin(dt*state[6])*sin(state[1])*cos(dt*state[7])*cos(state[0]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); + out_7854120589136729219[2] = 0; + out_7854120589136729219[3] = 0; + out_7854120589136729219[4] = 0; + out_7854120589136729219[5] = 0; + out_7854120589136729219[6] = (-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(dt*cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]) + (-dt*sin(dt*state[6])*sin(dt*state[8]) - dt*sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-dt*sin(dt*state[6])*cos(dt*state[8]) + dt*sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + (-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-dt*sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]) + (-dt*sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) - dt*cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (dt*sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); + out_7854120589136729219[7] = (-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-dt*sin(dt*state[6])*sin(dt*state[7])*cos(state[0])*cos(state[1]) + dt*sin(dt*state[6])*sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) - dt*sin(dt*state[6])*sin(state[1])*cos(dt*state[7])*cos(dt*state[8]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + (-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))*(-dt*sin(dt*state[7])*cos(dt*state[6])*cos(state[0])*cos(state[1]) + dt*sin(dt*state[8])*sin(state[0])*cos(dt*state[6])*cos(dt*state[7])*cos(state[1]) - dt*sin(state[1])*cos(dt*state[6])*cos(dt*state[7])*cos(dt*state[8]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); + out_7854120589136729219[8] = ((dt*sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + dt*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (dt*sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]))*(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)) + ((dt*sin(dt*state[6])*sin(dt*state[8]) + dt*sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (-dt*sin(dt*state[6])*cos(dt*state[8]) + dt*sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]))*(-(sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) + (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) - sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/(pow(-(sin(dt*state[6])*sin(dt*state[8]) + sin(dt*state[7])*cos(dt*state[6])*cos(dt*state[8]))*sin(state[1]) + (-sin(dt*state[6])*cos(dt*state[8]) + sin(dt*state[7])*sin(dt*state[8])*cos(dt*state[6]))*sin(state[0])*cos(state[1]) + cos(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2) + pow((sin(dt*state[6])*sin(dt*state[7])*sin(dt*state[8]) + cos(dt*state[6])*cos(dt*state[8]))*sin(state[0])*cos(state[1]) - (sin(dt*state[6])*sin(dt*state[7])*cos(dt*state[8]) - sin(dt*state[8])*cos(dt*state[6]))*sin(state[1]) + sin(dt*state[6])*cos(dt*state[7])*cos(state[0])*cos(state[1]), 2)); + out_7854120589136729219[9] = 0; + out_7854120589136729219[10] = 0; + out_7854120589136729219[11] = 0; + out_7854120589136729219[12] = 0; + out_7854120589136729219[13] = 0; + out_7854120589136729219[14] = 0; + out_7854120589136729219[15] = 0; + out_7854120589136729219[16] = 0; + out_7854120589136729219[17] = 0; + out_7854120589136729219[18] = (-sin(dt*state[7])*sin(state[0])*cos(state[1]) - sin(dt*state[8])*cos(dt*state[7])*cos(state[0])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); + out_7854120589136729219[19] = (-sin(dt*state[7])*sin(state[1])*cos(state[0]) + sin(dt*state[8])*sin(state[0])*sin(state[1])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); + out_7854120589136729219[20] = 0; + out_7854120589136729219[21] = 0; + out_7854120589136729219[22] = 0; + out_7854120589136729219[23] = 0; + out_7854120589136729219[24] = 0; + out_7854120589136729219[25] = (dt*sin(dt*state[7])*sin(dt*state[8])*sin(state[0])*cos(state[1]) - dt*sin(dt*state[7])*sin(state[1])*cos(dt*state[8]) + dt*cos(dt*state[7])*cos(state[0])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); + out_7854120589136729219[26] = (-dt*sin(dt*state[8])*sin(state[1])*cos(dt*state[7]) - dt*sin(state[0])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/sqrt(1 - pow(sin(dt*state[7])*cos(state[0])*cos(state[1]) - sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1]) + sin(state[1])*cos(dt*state[7])*cos(dt*state[8]), 2)); + out_7854120589136729219[27] = 0; + out_7854120589136729219[28] = 0; + out_7854120589136729219[29] = 0; + out_7854120589136729219[30] = 0; + out_7854120589136729219[31] = 0; + out_7854120589136729219[32] = 0; + out_7854120589136729219[33] = 0; + out_7854120589136729219[34] = 0; + out_7854120589136729219[35] = 0; + out_7854120589136729219[36] = ((sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[7]))*((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[7]))*(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); + out_7854120589136729219[37] = (-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))*(-sin(dt*state[7])*sin(state[2])*cos(state[0])*cos(state[1]) + sin(dt*state[8])*sin(state[0])*sin(state[2])*cos(dt*state[7])*cos(state[1]) - sin(state[1])*sin(state[2])*cos(dt*state[7])*cos(dt*state[8]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))*(-sin(dt*state[7])*cos(state[0])*cos(state[1])*cos(state[2]) + sin(dt*state[8])*sin(state[0])*cos(dt*state[7])*cos(state[1])*cos(state[2]) - sin(state[1])*cos(dt*state[7])*cos(dt*state[8])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); + out_7854120589136729219[38] = ((-sin(state[0])*sin(state[2]) - sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))*(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (-sin(state[0])*sin(state[1])*sin(state[2]) - cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))*((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); + out_7854120589136729219[39] = 0; + out_7854120589136729219[40] = 0; + out_7854120589136729219[41] = 0; + out_7854120589136729219[42] = 0; + out_7854120589136729219[43] = (-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))*(dt*(sin(state[0])*cos(state[2]) - sin(state[1])*sin(state[2])*cos(state[0]))*cos(dt*state[7]) - dt*(sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[7])*sin(dt*state[8]) - dt*sin(dt*state[7])*sin(state[2])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + ((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))*(dt*(-sin(state[0])*sin(state[2]) - sin(state[1])*cos(state[0])*cos(state[2]))*cos(dt*state[7]) - dt*(sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[7])*sin(dt*state[8]) - dt*sin(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); + out_7854120589136729219[44] = (dt*(sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*cos(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*sin(state[2])*cos(dt*state[7])*cos(state[1]))*(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)) + (dt*(sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*cos(dt*state[7])*cos(dt*state[8]) - dt*sin(dt*state[8])*cos(dt*state[7])*cos(state[1])*cos(state[2]))*((-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) - (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) - sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]))/(pow(-(sin(state[0])*sin(state[2]) + sin(state[1])*cos(state[0])*cos(state[2]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*cos(state[2]) - sin(state[2])*cos(state[0]))*sin(dt*state[8])*cos(dt*state[7]) + cos(dt*state[7])*cos(dt*state[8])*cos(state[1])*cos(state[2]), 2) + pow(-(-sin(state[0])*cos(state[2]) + sin(state[1])*sin(state[2])*cos(state[0]))*sin(dt*state[7]) + (sin(state[0])*sin(state[1])*sin(state[2]) + cos(state[0])*cos(state[2]))*sin(dt*state[8])*cos(dt*state[7]) + sin(state[2])*cos(dt*state[7])*cos(dt*state[8])*cos(state[1]), 2)); + out_7854120589136729219[45] = 0; + out_7854120589136729219[46] = 0; + out_7854120589136729219[47] = 0; + out_7854120589136729219[48] = 0; + out_7854120589136729219[49] = 0; + out_7854120589136729219[50] = 0; + out_7854120589136729219[51] = 0; + out_7854120589136729219[52] = 0; + out_7854120589136729219[53] = 0; + out_7854120589136729219[54] = 0; + out_7854120589136729219[55] = 0; + out_7854120589136729219[56] = 0; + out_7854120589136729219[57] = 1; + out_7854120589136729219[58] = 0; + out_7854120589136729219[59] = 0; + out_7854120589136729219[60] = 0; + out_7854120589136729219[61] = 0; + out_7854120589136729219[62] = 0; + out_7854120589136729219[63] = 0; + out_7854120589136729219[64] = 0; + out_7854120589136729219[65] = 0; + out_7854120589136729219[66] = dt; + out_7854120589136729219[67] = 0; + out_7854120589136729219[68] = 0; + out_7854120589136729219[69] = 0; + out_7854120589136729219[70] = 0; + out_7854120589136729219[71] = 0; + out_7854120589136729219[72] = 0; + out_7854120589136729219[73] = 0; + out_7854120589136729219[74] = 0; + out_7854120589136729219[75] = 0; + out_7854120589136729219[76] = 1; + out_7854120589136729219[77] = 0; + out_7854120589136729219[78] = 0; + out_7854120589136729219[79] = 0; + out_7854120589136729219[80] = 0; + out_7854120589136729219[81] = 0; + out_7854120589136729219[82] = 0; + out_7854120589136729219[83] = 0; + out_7854120589136729219[84] = 0; + out_7854120589136729219[85] = dt; + out_7854120589136729219[86] = 0; + out_7854120589136729219[87] = 0; + out_7854120589136729219[88] = 0; + out_7854120589136729219[89] = 0; + out_7854120589136729219[90] = 0; + out_7854120589136729219[91] = 0; + out_7854120589136729219[92] = 0; + out_7854120589136729219[93] = 0; + out_7854120589136729219[94] = 0; + out_7854120589136729219[95] = 1; + out_7854120589136729219[96] = 0; + out_7854120589136729219[97] = 0; + out_7854120589136729219[98] = 0; + out_7854120589136729219[99] = 0; + out_7854120589136729219[100] = 0; + out_7854120589136729219[101] = 0; + out_7854120589136729219[102] = 0; + out_7854120589136729219[103] = 0; + out_7854120589136729219[104] = dt; + out_7854120589136729219[105] = 0; + out_7854120589136729219[106] = 0; + out_7854120589136729219[107] = 0; + out_7854120589136729219[108] = 0; + out_7854120589136729219[109] = 0; + out_7854120589136729219[110] = 0; + out_7854120589136729219[111] = 0; + out_7854120589136729219[112] = 0; + out_7854120589136729219[113] = 0; + out_7854120589136729219[114] = 1; + out_7854120589136729219[115] = 0; + out_7854120589136729219[116] = 0; + out_7854120589136729219[117] = 0; + out_7854120589136729219[118] = 0; + out_7854120589136729219[119] = 0; + out_7854120589136729219[120] = 0; + out_7854120589136729219[121] = 0; + out_7854120589136729219[122] = 0; + out_7854120589136729219[123] = 0; + out_7854120589136729219[124] = 0; + out_7854120589136729219[125] = 0; + out_7854120589136729219[126] = 0; + out_7854120589136729219[127] = 0; + out_7854120589136729219[128] = 0; + out_7854120589136729219[129] = 0; + out_7854120589136729219[130] = 0; + out_7854120589136729219[131] = 0; + out_7854120589136729219[132] = 0; + out_7854120589136729219[133] = 1; + out_7854120589136729219[134] = 0; + out_7854120589136729219[135] = 0; + out_7854120589136729219[136] = 0; + out_7854120589136729219[137] = 0; + out_7854120589136729219[138] = 0; + out_7854120589136729219[139] = 0; + out_7854120589136729219[140] = 0; + out_7854120589136729219[141] = 0; + out_7854120589136729219[142] = 0; + out_7854120589136729219[143] = 0; + out_7854120589136729219[144] = 0; + out_7854120589136729219[145] = 0; + out_7854120589136729219[146] = 0; + out_7854120589136729219[147] = 0; + out_7854120589136729219[148] = 0; + out_7854120589136729219[149] = 0; + out_7854120589136729219[150] = 0; + out_7854120589136729219[151] = 0; + out_7854120589136729219[152] = 1; + out_7854120589136729219[153] = 0; + out_7854120589136729219[154] = 0; + out_7854120589136729219[155] = 0; + out_7854120589136729219[156] = 0; + out_7854120589136729219[157] = 0; + out_7854120589136729219[158] = 0; + out_7854120589136729219[159] = 0; + out_7854120589136729219[160] = 0; + out_7854120589136729219[161] = 0; + out_7854120589136729219[162] = 0; + out_7854120589136729219[163] = 0; + out_7854120589136729219[164] = 0; + out_7854120589136729219[165] = 0; + out_7854120589136729219[166] = 0; + out_7854120589136729219[167] = 0; + out_7854120589136729219[168] = 0; + out_7854120589136729219[169] = 0; + out_7854120589136729219[170] = 0; + out_7854120589136729219[171] = 1; + out_7854120589136729219[172] = 0; + out_7854120589136729219[173] = 0; + out_7854120589136729219[174] = 0; + out_7854120589136729219[175] = 0; + out_7854120589136729219[176] = 0; + out_7854120589136729219[177] = 0; + out_7854120589136729219[178] = 0; + out_7854120589136729219[179] = 0; + out_7854120589136729219[180] = 0; + out_7854120589136729219[181] = 0; + out_7854120589136729219[182] = 0; + out_7854120589136729219[183] = 0; + out_7854120589136729219[184] = 0; + out_7854120589136729219[185] = 0; + out_7854120589136729219[186] = 0; + out_7854120589136729219[187] = 0; + out_7854120589136729219[188] = 0; + out_7854120589136729219[189] = 0; + out_7854120589136729219[190] = 1; + out_7854120589136729219[191] = 0; + out_7854120589136729219[192] = 0; + out_7854120589136729219[193] = 0; + out_7854120589136729219[194] = 0; + out_7854120589136729219[195] = 0; + out_7854120589136729219[196] = 0; + out_7854120589136729219[197] = 0; + out_7854120589136729219[198] = 0; + out_7854120589136729219[199] = 0; + out_7854120589136729219[200] = 0; + out_7854120589136729219[201] = 0; + out_7854120589136729219[202] = 0; + out_7854120589136729219[203] = 0; + out_7854120589136729219[204] = 0; + out_7854120589136729219[205] = 0; + out_7854120589136729219[206] = 0; + out_7854120589136729219[207] = 0; + out_7854120589136729219[208] = 0; + out_7854120589136729219[209] = 1; + out_7854120589136729219[210] = 0; + out_7854120589136729219[211] = 0; + out_7854120589136729219[212] = 0; + out_7854120589136729219[213] = 0; + out_7854120589136729219[214] = 0; + out_7854120589136729219[215] = 0; + out_7854120589136729219[216] = 0; + out_7854120589136729219[217] = 0; + out_7854120589136729219[218] = 0; + out_7854120589136729219[219] = 0; + out_7854120589136729219[220] = 0; + out_7854120589136729219[221] = 0; + out_7854120589136729219[222] = 0; + out_7854120589136729219[223] = 0; + out_7854120589136729219[224] = 0; + out_7854120589136729219[225] = 0; + out_7854120589136729219[226] = 0; + out_7854120589136729219[227] = 0; + out_7854120589136729219[228] = 1; + out_7854120589136729219[229] = 0; + out_7854120589136729219[230] = 0; + out_7854120589136729219[231] = 0; + out_7854120589136729219[232] = 0; + out_7854120589136729219[233] = 0; + out_7854120589136729219[234] = 0; + out_7854120589136729219[235] = 0; + out_7854120589136729219[236] = 0; + out_7854120589136729219[237] = 0; + out_7854120589136729219[238] = 0; + out_7854120589136729219[239] = 0; + out_7854120589136729219[240] = 0; + out_7854120589136729219[241] = 0; + out_7854120589136729219[242] = 0; + out_7854120589136729219[243] = 0; + out_7854120589136729219[244] = 0; + out_7854120589136729219[245] = 0; + out_7854120589136729219[246] = 0; + out_7854120589136729219[247] = 1; + out_7854120589136729219[248] = 0; + out_7854120589136729219[249] = 0; + out_7854120589136729219[250] = 0; + out_7854120589136729219[251] = 0; + out_7854120589136729219[252] = 0; + out_7854120589136729219[253] = 0; + out_7854120589136729219[254] = 0; + out_7854120589136729219[255] = 0; + out_7854120589136729219[256] = 0; + out_7854120589136729219[257] = 0; + out_7854120589136729219[258] = 0; + out_7854120589136729219[259] = 0; + out_7854120589136729219[260] = 0; + out_7854120589136729219[261] = 0; + out_7854120589136729219[262] = 0; + out_7854120589136729219[263] = 0; + out_7854120589136729219[264] = 0; + out_7854120589136729219[265] = 0; + out_7854120589136729219[266] = 1; + out_7854120589136729219[267] = 0; + out_7854120589136729219[268] = 0; + out_7854120589136729219[269] = 0; + out_7854120589136729219[270] = 0; + out_7854120589136729219[271] = 0; + out_7854120589136729219[272] = 0; + out_7854120589136729219[273] = 0; + out_7854120589136729219[274] = 0; + out_7854120589136729219[275] = 0; + out_7854120589136729219[276] = 0; + out_7854120589136729219[277] = 0; + out_7854120589136729219[278] = 0; + out_7854120589136729219[279] = 0; + out_7854120589136729219[280] = 0; + out_7854120589136729219[281] = 0; + out_7854120589136729219[282] = 0; + out_7854120589136729219[283] = 0; + out_7854120589136729219[284] = 0; + out_7854120589136729219[285] = 1; + out_7854120589136729219[286] = 0; + out_7854120589136729219[287] = 0; + out_7854120589136729219[288] = 0; + out_7854120589136729219[289] = 0; + out_7854120589136729219[290] = 0; + out_7854120589136729219[291] = 0; + out_7854120589136729219[292] = 0; + out_7854120589136729219[293] = 0; + out_7854120589136729219[294] = 0; + out_7854120589136729219[295] = 0; + out_7854120589136729219[296] = 0; + out_7854120589136729219[297] = 0; + out_7854120589136729219[298] = 0; + out_7854120589136729219[299] = 0; + out_7854120589136729219[300] = 0; + out_7854120589136729219[301] = 0; + out_7854120589136729219[302] = 0; + out_7854120589136729219[303] = 0; + out_7854120589136729219[304] = 1; + out_7854120589136729219[305] = 0; + out_7854120589136729219[306] = 0; + out_7854120589136729219[307] = 0; + out_7854120589136729219[308] = 0; + out_7854120589136729219[309] = 0; + out_7854120589136729219[310] = 0; + out_7854120589136729219[311] = 0; + out_7854120589136729219[312] = 0; + out_7854120589136729219[313] = 0; + out_7854120589136729219[314] = 0; + out_7854120589136729219[315] = 0; + out_7854120589136729219[316] = 0; + out_7854120589136729219[317] = 0; + out_7854120589136729219[318] = 0; + out_7854120589136729219[319] = 0; + out_7854120589136729219[320] = 0; + out_7854120589136729219[321] = 0; + out_7854120589136729219[322] = 0; + out_7854120589136729219[323] = 1; } -void h_4(double *state, double *unused, double *out_8295372454373326831) { - out_8295372454373326831[0] = state[6] + state[9]; - out_8295372454373326831[1] = state[7] + state[10]; - out_8295372454373326831[2] = state[8] + state[11]; +void h_4(double *state, double *unused, double *out_3221272873403501279) { + out_3221272873403501279[0] = state[6] + state[9]; + out_3221272873403501279[1] = state[7] + state[10]; + out_3221272873403501279[2] = state[8] + state[11]; } -void H_4(double *state, double *unused, double *out_183086821341657337) { - out_183086821341657337[0] = 0; - out_183086821341657337[1] = 0; - out_183086821341657337[2] = 0; - out_183086821341657337[3] = 0; - out_183086821341657337[4] = 0; - out_183086821341657337[5] = 0; - out_183086821341657337[6] = 1; - out_183086821341657337[7] = 0; - out_183086821341657337[8] = 0; - out_183086821341657337[9] = 1; - out_183086821341657337[10] = 0; - out_183086821341657337[11] = 0; - out_183086821341657337[12] = 0; - out_183086821341657337[13] = 0; - out_183086821341657337[14] = 0; - out_183086821341657337[15] = 0; - out_183086821341657337[16] = 0; - out_183086821341657337[17] = 0; - out_183086821341657337[18] = 0; - out_183086821341657337[19] = 0; - out_183086821341657337[20] = 0; - out_183086821341657337[21] = 0; - out_183086821341657337[22] = 0; - out_183086821341657337[23] = 0; - out_183086821341657337[24] = 0; - out_183086821341657337[25] = 1; - out_183086821341657337[26] = 0; - out_183086821341657337[27] = 0; - out_183086821341657337[28] = 1; - out_183086821341657337[29] = 0; - out_183086821341657337[30] = 0; - out_183086821341657337[31] = 0; - out_183086821341657337[32] = 0; - out_183086821341657337[33] = 0; - out_183086821341657337[34] = 0; - out_183086821341657337[35] = 0; - out_183086821341657337[36] = 0; - out_183086821341657337[37] = 0; - out_183086821341657337[38] = 0; - out_183086821341657337[39] = 0; - out_183086821341657337[40] = 0; - out_183086821341657337[41] = 0; - out_183086821341657337[42] = 0; - out_183086821341657337[43] = 0; - out_183086821341657337[44] = 1; - out_183086821341657337[45] = 0; - out_183086821341657337[46] = 0; - out_183086821341657337[47] = 1; - out_183086821341657337[48] = 0; - out_183086821341657337[49] = 0; - out_183086821341657337[50] = 0; - out_183086821341657337[51] = 0; - out_183086821341657337[52] = 0; - out_183086821341657337[53] = 0; +void H_4(double *state, double *unused, double *out_5826999704905783895) { + out_5826999704905783895[0] = 0; + out_5826999704905783895[1] = 0; + out_5826999704905783895[2] = 0; + out_5826999704905783895[3] = 0; + out_5826999704905783895[4] = 0; + out_5826999704905783895[5] = 0; + out_5826999704905783895[6] = 1; + out_5826999704905783895[7] = 0; + out_5826999704905783895[8] = 0; + out_5826999704905783895[9] = 1; + out_5826999704905783895[10] = 0; + out_5826999704905783895[11] = 0; + out_5826999704905783895[12] = 0; + out_5826999704905783895[13] = 0; + out_5826999704905783895[14] = 0; + out_5826999704905783895[15] = 0; + out_5826999704905783895[16] = 0; + out_5826999704905783895[17] = 0; + out_5826999704905783895[18] = 0; + out_5826999704905783895[19] = 0; + out_5826999704905783895[20] = 0; + out_5826999704905783895[21] = 0; + out_5826999704905783895[22] = 0; + out_5826999704905783895[23] = 0; + out_5826999704905783895[24] = 0; + out_5826999704905783895[25] = 1; + out_5826999704905783895[26] = 0; + out_5826999704905783895[27] = 0; + out_5826999704905783895[28] = 1; + out_5826999704905783895[29] = 0; + out_5826999704905783895[30] = 0; + out_5826999704905783895[31] = 0; + out_5826999704905783895[32] = 0; + out_5826999704905783895[33] = 0; + out_5826999704905783895[34] = 0; + out_5826999704905783895[35] = 0; + out_5826999704905783895[36] = 0; + out_5826999704905783895[37] = 0; + out_5826999704905783895[38] = 0; + out_5826999704905783895[39] = 0; + out_5826999704905783895[40] = 0; + out_5826999704905783895[41] = 0; + out_5826999704905783895[42] = 0; + out_5826999704905783895[43] = 0; + out_5826999704905783895[44] = 1; + out_5826999704905783895[45] = 0; + out_5826999704905783895[46] = 0; + out_5826999704905783895[47] = 1; + out_5826999704905783895[48] = 0; + out_5826999704905783895[49] = 0; + out_5826999704905783895[50] = 0; + out_5826999704905783895[51] = 0; + out_5826999704905783895[52] = 0; + out_5826999704905783895[53] = 0; } -void h_10(double *state, double *unused, double *out_7644256498264067236) { - out_7644256498264067236[0] = 9.8100000000000005*sin(state[1]) - state[4]*state[8] + state[5]*state[7] + state[12] + state[15]; - out_7644256498264067236[1] = -9.8100000000000005*sin(state[0])*cos(state[1]) + state[3]*state[8] - state[5]*state[6] + state[13] + state[16]; - out_7644256498264067236[2] = -9.8100000000000005*cos(state[0])*cos(state[1]) - state[3]*state[7] + state[4]*state[6] + state[14] + state[17]; +void h_10(double *state, double *unused, double *out_3970686424555567202) { + out_3970686424555567202[0] = 9.8100000000000005*sin(state[1]) - state[4]*state[8] + state[5]*state[7] + state[12] + state[15]; + out_3970686424555567202[1] = -9.8100000000000005*sin(state[0])*cos(state[1]) + state[3]*state[8] - state[5]*state[6] + state[13] + state[16]; + out_3970686424555567202[2] = -9.8100000000000005*cos(state[0])*cos(state[1]) - state[3]*state[7] + state[4]*state[6] + state[14] + state[17]; } -void H_10(double *state, double *unused, double *out_9222592977772692444) { - out_9222592977772692444[0] = 0; - out_9222592977772692444[1] = 9.8100000000000005*cos(state[1]); - out_9222592977772692444[2] = 0; - out_9222592977772692444[3] = 0; - out_9222592977772692444[4] = -state[8]; - out_9222592977772692444[5] = state[7]; - out_9222592977772692444[6] = 0; - out_9222592977772692444[7] = state[5]; - out_9222592977772692444[8] = -state[4]; - out_9222592977772692444[9] = 0; - out_9222592977772692444[10] = 0; - out_9222592977772692444[11] = 0; - out_9222592977772692444[12] = 1; - out_9222592977772692444[13] = 0; - out_9222592977772692444[14] = 0; - out_9222592977772692444[15] = 1; - out_9222592977772692444[16] = 0; - out_9222592977772692444[17] = 0; - out_9222592977772692444[18] = -9.8100000000000005*cos(state[0])*cos(state[1]); - out_9222592977772692444[19] = 9.8100000000000005*sin(state[0])*sin(state[1]); - out_9222592977772692444[20] = 0; - out_9222592977772692444[21] = state[8]; - out_9222592977772692444[22] = 0; - out_9222592977772692444[23] = -state[6]; - out_9222592977772692444[24] = -state[5]; - out_9222592977772692444[25] = 0; - out_9222592977772692444[26] = state[3]; - out_9222592977772692444[27] = 0; - out_9222592977772692444[28] = 0; - out_9222592977772692444[29] = 0; - out_9222592977772692444[30] = 0; - out_9222592977772692444[31] = 1; - out_9222592977772692444[32] = 0; - out_9222592977772692444[33] = 0; - out_9222592977772692444[34] = 1; - out_9222592977772692444[35] = 0; - out_9222592977772692444[36] = 9.8100000000000005*sin(state[0])*cos(state[1]); - out_9222592977772692444[37] = 9.8100000000000005*sin(state[1])*cos(state[0]); - out_9222592977772692444[38] = 0; - out_9222592977772692444[39] = -state[7]; - out_9222592977772692444[40] = state[6]; - out_9222592977772692444[41] = 0; - out_9222592977772692444[42] = state[4]; - out_9222592977772692444[43] = -state[3]; - out_9222592977772692444[44] = 0; - out_9222592977772692444[45] = 0; - out_9222592977772692444[46] = 0; - out_9222592977772692444[47] = 0; - out_9222592977772692444[48] = 0; - out_9222592977772692444[49] = 0; - out_9222592977772692444[50] = 1; - out_9222592977772692444[51] = 0; - out_9222592977772692444[52] = 0; - out_9222592977772692444[53] = 1; +void H_10(double *state, double *unused, double *out_4590171680468794279) { + out_4590171680468794279[0] = 0; + out_4590171680468794279[1] = 9.8100000000000005*cos(state[1]); + out_4590171680468794279[2] = 0; + out_4590171680468794279[3] = 0; + out_4590171680468794279[4] = -state[8]; + out_4590171680468794279[5] = state[7]; + out_4590171680468794279[6] = 0; + out_4590171680468794279[7] = state[5]; + out_4590171680468794279[8] = -state[4]; + out_4590171680468794279[9] = 0; + out_4590171680468794279[10] = 0; + out_4590171680468794279[11] = 0; + out_4590171680468794279[12] = 1; + out_4590171680468794279[13] = 0; + out_4590171680468794279[14] = 0; + out_4590171680468794279[15] = 1; + out_4590171680468794279[16] = 0; + out_4590171680468794279[17] = 0; + out_4590171680468794279[18] = -9.8100000000000005*cos(state[0])*cos(state[1]); + out_4590171680468794279[19] = 9.8100000000000005*sin(state[0])*sin(state[1]); + out_4590171680468794279[20] = 0; + out_4590171680468794279[21] = state[8]; + out_4590171680468794279[22] = 0; + out_4590171680468794279[23] = -state[6]; + out_4590171680468794279[24] = -state[5]; + out_4590171680468794279[25] = 0; + out_4590171680468794279[26] = state[3]; + out_4590171680468794279[27] = 0; + out_4590171680468794279[28] = 0; + out_4590171680468794279[29] = 0; + out_4590171680468794279[30] = 0; + out_4590171680468794279[31] = 1; + out_4590171680468794279[32] = 0; + out_4590171680468794279[33] = 0; + out_4590171680468794279[34] = 1; + out_4590171680468794279[35] = 0; + out_4590171680468794279[36] = 9.8100000000000005*sin(state[0])*cos(state[1]); + out_4590171680468794279[37] = 9.8100000000000005*sin(state[1])*cos(state[0]); + out_4590171680468794279[38] = 0; + out_4590171680468794279[39] = -state[7]; + out_4590171680468794279[40] = state[6]; + out_4590171680468794279[41] = 0; + out_4590171680468794279[42] = state[4]; + out_4590171680468794279[43] = -state[3]; + out_4590171680468794279[44] = 0; + out_4590171680468794279[45] = 0; + out_4590171680468794279[46] = 0; + out_4590171680468794279[47] = 0; + out_4590171680468794279[48] = 0; + out_4590171680468794279[49] = 0; + out_4590171680468794279[50] = 1; + out_4590171680468794279[51] = 0; + out_4590171680468794279[52] = 0; + out_4590171680468794279[53] = 1; } -void h_13(double *state, double *unused, double *out_2771420024160106737) { - out_2771420024160106737[0] = state[3]; - out_2771420024160106737[1] = state[4]; - out_2771420024160106737[2] = state[5]; +void h_13(double *state, double *unused, double *out_649122268436072591) { + out_649122268436072591[0] = state[3]; + out_649122268436072591[1] = state[4]; + out_649122268436072591[2] = state[5]; } -void H_13(double *state, double *unused, double *out_3650668641960866687) { - out_3650668641960866687[0] = 0; - out_3650668641960866687[1] = 0; - out_3650668641960866687[2] = 0; - out_3650668641960866687[3] = 1; - out_3650668641960866687[4] = 0; - out_3650668641960866687[5] = 0; - out_3650668641960866687[6] = 0; - out_3650668641960866687[7] = 0; - out_3650668641960866687[8] = 0; - out_3650668641960866687[9] = 0; - out_3650668641960866687[10] = 0; - out_3650668641960866687[11] = 0; - out_3650668641960866687[12] = 0; - out_3650668641960866687[13] = 0; - out_3650668641960866687[14] = 0; - out_3650668641960866687[15] = 0; - out_3650668641960866687[16] = 0; - out_3650668641960866687[17] = 0; - out_3650668641960866687[18] = 0; - out_3650668641960866687[19] = 0; - out_3650668641960866687[20] = 0; - out_3650668641960866687[21] = 0; - out_3650668641960866687[22] = 1; - out_3650668641960866687[23] = 0; - out_3650668641960866687[24] = 0; - out_3650668641960866687[25] = 0; - out_3650668641960866687[26] = 0; - out_3650668641960866687[27] = 0; - out_3650668641960866687[28] = 0; - out_3650668641960866687[29] = 0; - out_3650668641960866687[30] = 0; - out_3650668641960866687[31] = 0; - out_3650668641960866687[32] = 0; - out_3650668641960866687[33] = 0; - out_3650668641960866687[34] = 0; - out_3650668641960866687[35] = 0; - out_3650668641960866687[36] = 0; - out_3650668641960866687[37] = 0; - out_3650668641960866687[38] = 0; - out_3650668641960866687[39] = 0; - out_3650668641960866687[40] = 0; - out_3650668641960866687[41] = 1; - out_3650668641960866687[42] = 0; - out_3650668641960866687[43] = 0; - out_3650668641960866687[44] = 0; - out_3650668641960866687[45] = 0; - out_3650668641960866687[46] = 0; - out_3650668641960866687[47] = 0; - out_3650668641960866687[48] = 0; - out_3650668641960866687[49] = 0; - out_3650668641960866687[50] = 0; - out_3650668641960866687[51] = 0; - out_3650668641960866687[52] = 0; - out_3650668641960866687[53] = 0; +void H_13(double *state, double *unused, double *out_2614725879573451094) { + out_2614725879573451094[0] = 0; + out_2614725879573451094[1] = 0; + out_2614725879573451094[2] = 0; + out_2614725879573451094[3] = 1; + out_2614725879573451094[4] = 0; + out_2614725879573451094[5] = 0; + out_2614725879573451094[6] = 0; + out_2614725879573451094[7] = 0; + out_2614725879573451094[8] = 0; + out_2614725879573451094[9] = 0; + out_2614725879573451094[10] = 0; + out_2614725879573451094[11] = 0; + out_2614725879573451094[12] = 0; + out_2614725879573451094[13] = 0; + out_2614725879573451094[14] = 0; + out_2614725879573451094[15] = 0; + out_2614725879573451094[16] = 0; + out_2614725879573451094[17] = 0; + out_2614725879573451094[18] = 0; + out_2614725879573451094[19] = 0; + out_2614725879573451094[20] = 0; + out_2614725879573451094[21] = 0; + out_2614725879573451094[22] = 1; + out_2614725879573451094[23] = 0; + out_2614725879573451094[24] = 0; + out_2614725879573451094[25] = 0; + out_2614725879573451094[26] = 0; + out_2614725879573451094[27] = 0; + out_2614725879573451094[28] = 0; + out_2614725879573451094[29] = 0; + out_2614725879573451094[30] = 0; + out_2614725879573451094[31] = 0; + out_2614725879573451094[32] = 0; + out_2614725879573451094[33] = 0; + out_2614725879573451094[34] = 0; + out_2614725879573451094[35] = 0; + out_2614725879573451094[36] = 0; + out_2614725879573451094[37] = 0; + out_2614725879573451094[38] = 0; + out_2614725879573451094[39] = 0; + out_2614725879573451094[40] = 0; + out_2614725879573451094[41] = 1; + out_2614725879573451094[42] = 0; + out_2614725879573451094[43] = 0; + out_2614725879573451094[44] = 0; + out_2614725879573451094[45] = 0; + out_2614725879573451094[46] = 0; + out_2614725879573451094[47] = 0; + out_2614725879573451094[48] = 0; + out_2614725879573451094[49] = 0; + out_2614725879573451094[50] = 0; + out_2614725879573451094[51] = 0; + out_2614725879573451094[52] = 0; + out_2614725879573451094[53] = 0; } -void h_14(double *state, double *unused, double *out_352453830606757886) { - out_352453830606757886[0] = state[6]; - out_352453830606757886[1] = state[7]; - out_352453830606757886[2] = state[8]; +void h_14(double *state, double *unused, double *out_113050053768907397) { + out_113050053768907397[0] = state[6]; + out_113050053768907397[1] = state[7]; + out_113050053768907397[2] = state[8]; } -void H_14(double *state, double *unused, double *out_2899701610953714959) { - out_2899701610953714959[0] = 0; - out_2899701610953714959[1] = 0; - out_2899701610953714959[2] = 0; - out_2899701610953714959[3] = 0; - out_2899701610953714959[4] = 0; - out_2899701610953714959[5] = 0; - out_2899701610953714959[6] = 1; - out_2899701610953714959[7] = 0; - out_2899701610953714959[8] = 0; - out_2899701610953714959[9] = 0; - out_2899701610953714959[10] = 0; - out_2899701610953714959[11] = 0; - out_2899701610953714959[12] = 0; - out_2899701610953714959[13] = 0; - out_2899701610953714959[14] = 0; - out_2899701610953714959[15] = 0; - out_2899701610953714959[16] = 0; - out_2899701610953714959[17] = 0; - out_2899701610953714959[18] = 0; - out_2899701610953714959[19] = 0; - out_2899701610953714959[20] = 0; - out_2899701610953714959[21] = 0; - out_2899701610953714959[22] = 0; - out_2899701610953714959[23] = 0; - out_2899701610953714959[24] = 0; - out_2899701610953714959[25] = 1; - out_2899701610953714959[26] = 0; - out_2899701610953714959[27] = 0; - out_2899701610953714959[28] = 0; - out_2899701610953714959[29] = 0; - out_2899701610953714959[30] = 0; - out_2899701610953714959[31] = 0; - out_2899701610953714959[32] = 0; - out_2899701610953714959[33] = 0; - out_2899701610953714959[34] = 0; - out_2899701610953714959[35] = 0; - out_2899701610953714959[36] = 0; - out_2899701610953714959[37] = 0; - out_2899701610953714959[38] = 0; - out_2899701610953714959[39] = 0; - out_2899701610953714959[40] = 0; - out_2899701610953714959[41] = 0; - out_2899701610953714959[42] = 0; - out_2899701610953714959[43] = 0; - out_2899701610953714959[44] = 1; - out_2899701610953714959[45] = 0; - out_2899701610953714959[46] = 0; - out_2899701610953714959[47] = 0; - out_2899701610953714959[48] = 0; - out_2899701610953714959[49] = 0; - out_2899701610953714959[50] = 0; - out_2899701610953714959[51] = 0; - out_2899701610953714959[52] = 0; - out_2899701610953714959[53] = 0; +void H_14(double *state, double *unused, double *out_1863758848566299366) { + out_1863758848566299366[0] = 0; + out_1863758848566299366[1] = 0; + out_1863758848566299366[2] = 0; + out_1863758848566299366[3] = 0; + out_1863758848566299366[4] = 0; + out_1863758848566299366[5] = 0; + out_1863758848566299366[6] = 1; + out_1863758848566299366[7] = 0; + out_1863758848566299366[8] = 0; + out_1863758848566299366[9] = 0; + out_1863758848566299366[10] = 0; + out_1863758848566299366[11] = 0; + out_1863758848566299366[12] = 0; + out_1863758848566299366[13] = 0; + out_1863758848566299366[14] = 0; + out_1863758848566299366[15] = 0; + out_1863758848566299366[16] = 0; + out_1863758848566299366[17] = 0; + out_1863758848566299366[18] = 0; + out_1863758848566299366[19] = 0; + out_1863758848566299366[20] = 0; + out_1863758848566299366[21] = 0; + out_1863758848566299366[22] = 0; + out_1863758848566299366[23] = 0; + out_1863758848566299366[24] = 0; + out_1863758848566299366[25] = 1; + out_1863758848566299366[26] = 0; + out_1863758848566299366[27] = 0; + out_1863758848566299366[28] = 0; + out_1863758848566299366[29] = 0; + out_1863758848566299366[30] = 0; + out_1863758848566299366[31] = 0; + out_1863758848566299366[32] = 0; + out_1863758848566299366[33] = 0; + out_1863758848566299366[34] = 0; + out_1863758848566299366[35] = 0; + out_1863758848566299366[36] = 0; + out_1863758848566299366[37] = 0; + out_1863758848566299366[38] = 0; + out_1863758848566299366[39] = 0; + out_1863758848566299366[40] = 0; + out_1863758848566299366[41] = 0; + out_1863758848566299366[42] = 0; + out_1863758848566299366[43] = 0; + out_1863758848566299366[44] = 1; + out_1863758848566299366[45] = 0; + out_1863758848566299366[46] = 0; + out_1863758848566299366[47] = 0; + out_1863758848566299366[48] = 0; + out_1863758848566299366[49] = 0; + out_1863758848566299366[50] = 0; + out_1863758848566299366[51] = 0; + out_1863758848566299366[52] = 0; + out_1863758848566299366[53] = 0; } #include #include @@ -1113,44 +1113,44 @@ void pose_update_13(double *in_x, double *in_P, double *in_z, double *in_R, doub void pose_update_14(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea) { update<3, 3, 0>(in_x, in_P, h_14, H_14, NULL, in_z, in_R, in_ea, MAHA_THRESH_14); } -void pose_err_fun(double *nom_x, double *delta_x, double *out_1557287137713055710) { - err_fun(nom_x, delta_x, out_1557287137713055710); +void pose_err_fun(double *nom_x, double *delta_x, double *out_2510165527669125945) { + err_fun(nom_x, delta_x, out_2510165527669125945); } -void pose_inv_err_fun(double *nom_x, double *true_x, double *out_6312955019060494268) { - inv_err_fun(nom_x, true_x, out_6312955019060494268); +void pose_inv_err_fun(double *nom_x, double *true_x, double *out_2827775544900411455) { + inv_err_fun(nom_x, true_x, out_2827775544900411455); } -void pose_H_mod_fun(double *state, double *out_2002785547247954198) { - H_mod_fun(state, out_2002785547247954198); +void pose_H_mod_fun(double *state, double *out_6581160706960496502) { + H_mod_fun(state, out_6581160706960496502); } -void pose_f_fun(double *state, double dt, double *out_7460364811199515324) { - f_fun(state, dt, out_7460364811199515324); +void pose_f_fun(double *state, double dt, double *out_1715652979675739070) { + f_fun(state, dt, out_1715652979675739070); } -void pose_F_fun(double *state, double dt, double *out_3737951720851394665) { - F_fun(state, dt, out_3737951720851394665); +void pose_F_fun(double *state, double dt, double *out_7854120589136729219) { + F_fun(state, dt, out_7854120589136729219); } -void pose_h_4(double *state, double *unused, double *out_8295372454373326831) { - h_4(state, unused, out_8295372454373326831); +void pose_h_4(double *state, double *unused, double *out_3221272873403501279) { + h_4(state, unused, out_3221272873403501279); } -void pose_H_4(double *state, double *unused, double *out_183086821341657337) { - H_4(state, unused, out_183086821341657337); +void pose_H_4(double *state, double *unused, double *out_5826999704905783895) { + H_4(state, unused, out_5826999704905783895); } -void pose_h_10(double *state, double *unused, double *out_7644256498264067236) { - h_10(state, unused, out_7644256498264067236); +void pose_h_10(double *state, double *unused, double *out_3970686424555567202) { + h_10(state, unused, out_3970686424555567202); } -void pose_H_10(double *state, double *unused, double *out_9222592977772692444) { - H_10(state, unused, out_9222592977772692444); +void pose_H_10(double *state, double *unused, double *out_4590171680468794279) { + H_10(state, unused, out_4590171680468794279); } -void pose_h_13(double *state, double *unused, double *out_2771420024160106737) { - h_13(state, unused, out_2771420024160106737); +void pose_h_13(double *state, double *unused, double *out_649122268436072591) { + h_13(state, unused, out_649122268436072591); } -void pose_H_13(double *state, double *unused, double *out_3650668641960866687) { - H_13(state, unused, out_3650668641960866687); +void pose_H_13(double *state, double *unused, double *out_2614725879573451094) { + H_13(state, unused, out_2614725879573451094); } -void pose_h_14(double *state, double *unused, double *out_352453830606757886) { - h_14(state, unused, out_352453830606757886); +void pose_h_14(double *state, double *unused, double *out_113050053768907397) { + h_14(state, unused, out_113050053768907397); } -void pose_H_14(double *state, double *unused, double *out_2899701610953714959) { - H_14(state, unused, out_2899701610953714959); +void pose_H_14(double *state, double *unused, double *out_1863758848566299366) { + H_14(state, unused, out_1863758848566299366); } void pose_predict(double *in_x, double *in_P, double *in_Q, double dt) { predict(in_x, in_P, in_Q, dt); diff --git a/openpilot/selfdrive/locationd/models/generated/pose.h b/openpilot/selfdrive/locationd/models/generated/pose.h index b19be67997..1b4ed469ed 100644 --- a/openpilot/selfdrive/locationd/models/generated/pose.h +++ b/openpilot/selfdrive/locationd/models/generated/pose.h @@ -5,18 +5,18 @@ void pose_update_4(double *in_x, double *in_P, double *in_z, double *in_R, doubl void pose_update_10(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea); void pose_update_13(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea); void pose_update_14(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea); -void pose_err_fun(double *nom_x, double *delta_x, double *out_1557287137713055710); -void pose_inv_err_fun(double *nom_x, double *true_x, double *out_6312955019060494268); -void pose_H_mod_fun(double *state, double *out_2002785547247954198); -void pose_f_fun(double *state, double dt, double *out_7460364811199515324); -void pose_F_fun(double *state, double dt, double *out_3737951720851394665); -void pose_h_4(double *state, double *unused, double *out_8295372454373326831); -void pose_H_4(double *state, double *unused, double *out_183086821341657337); -void pose_h_10(double *state, double *unused, double *out_7644256498264067236); -void pose_H_10(double *state, double *unused, double *out_9222592977772692444); -void pose_h_13(double *state, double *unused, double *out_2771420024160106737); -void pose_H_13(double *state, double *unused, double *out_3650668641960866687); -void pose_h_14(double *state, double *unused, double *out_352453830606757886); -void pose_H_14(double *state, double *unused, double *out_2899701610953714959); +void pose_err_fun(double *nom_x, double *delta_x, double *out_2510165527669125945); +void pose_inv_err_fun(double *nom_x, double *true_x, double *out_2827775544900411455); +void pose_H_mod_fun(double *state, double *out_6581160706960496502); +void pose_f_fun(double *state, double dt, double *out_1715652979675739070); +void pose_F_fun(double *state, double dt, double *out_7854120589136729219); +void pose_h_4(double *state, double *unused, double *out_3221272873403501279); +void pose_H_4(double *state, double *unused, double *out_5826999704905783895); +void pose_h_10(double *state, double *unused, double *out_3970686424555567202); +void pose_H_10(double *state, double *unused, double *out_4590171680468794279); +void pose_h_13(double *state, double *unused, double *out_649122268436072591); +void pose_H_13(double *state, double *unused, double *out_2614725879573451094); +void pose_h_14(double *state, double *unused, double *out_113050053768907397); +void pose_H_14(double *state, double *unused, double *out_1863758848566299366); void pose_predict(double *in_x, double *in_P, double *in_Q, double dt); } \ No newline at end of file diff --git a/openpilot/starpilot/system/android_auto/hw/libaa_encoder.so b/openpilot/starpilot/system/android_auto/hw/libaa_encoder.so index 722c4ebf3fbe714bb4ab587306cbbb76b7829d18..191f3db1bdd1652e37a72a3ad8a1cb1ef5523237 100755 GIT binary patch delta 34819 zcmafc2Ur!?^Y)p&TM!Td5fHh6pja=WSg`kw!A3M1jVSisV$a2{F~*u)ja{SB*sw%2 zme@7+5~DG;5MwkFlNi&>?|bK*y+BO<&&Tt;XJ%*S%&B|Y?q25q67cKK0rSgJ@{V%b zDdb|48H=BloHecGOOuaTw{~5nq?xOC<gddJR7&i2ReqI-Fms zd5QU@Qessq$Wbb{D%N2NL1a}dDDsMRnDb~C3-bJ89Vt*OC<+wosM5$%L6cW1TP{ll zIhU#gwRPteOX*dypyy&ipI59XZmmjaC+8mGR*L3UO5~zAvx%E0nwzIG7s0ugxB$`I zE>*Zmocl=TJenIM36i4D4@qUYMKm`>Rc-|5e&WnVa}!kK+IJoxS@#EJ-A8lXSLggW z50R|&kMb)$Cec&aB9~9fJ3^eG*gDybEPBhgd}re&!!hiVKe}R*D|*v6xbOJBh`#3+ zG!SfqUPgxDI7C{LE7=rGY2^Qkq1Po!`7%g|N7+4#(qDSOtg%8&(yj673&CV&4-Ti< zRKBB;W)wO|mDyu@zU#X1>er3~>A&YVV|;c@1Z8POUPJ`{VwyLC=WZm0J0?K=dnAqZ zsbrd#8BoVTDSshz7xXs1%ZI}WU&ufVFJ^|Cjyj}CgMpqkr70{p-YjDVv^8%>qK7DX z_L(CT58dh4bsD-rAoE2C;kK+xC*Nag|2knpY`Jys0uNy_TTb^m-Xse zh`XR-u`ER;Jy{Ex@h|yQO4Msn6EM+;f+y{e+u(?T|>E0Jh4^CTvai>j-N zUdev*Dw?nS)+v!)(b8Z@4O!7!p&{RVqhZOaqK{Q%`A&{Etfs2y)dfVgR7DpQ)m9a~ zRaLZ1V^|$k(aKCFqAI$ss_6X0#jtv+qW@)DUsZIzsVdB{2CAa}C2#0f6;Oq7X#bMi?bSzP1_Ob5`zVbV%M0S%& zgCU({lU;&_eDjTlbyiKbBZ1}DINq?ARFlmsAnKx;te~i?YO+hJ$z&SCURF(}%w!^} z$-1c~%THVk>#myYU#739Cd)Tfg&EdEHQB%9>2{M9P~4QI=&73QdHGc8rJ78pJe4w3 zli63jRg=l9|EtMlxm1(Qqz8ukYa?W@#%(3r_P%P{cDlEvyF=4npG6PZjHAt>M@Gm# zO^#nP>9LV(gtXCDqTy5eBZ$yaQpySOjqxAx+vq)a+wot}WqiZBtyH`uX^%#LGxBjK|z7bq%wR8<-mTzZYZR*$@s z!VAUKy6-(KGyRxX!J`*ZyOZg|?BM2fp-?~(Jv}K&h#)<>%>*OX^Q0|RrD~qIc2uQI z2c1INr{tmowbf-EpjWBxlvbXT%LwTvCK#!niS4L_yNynkZz0)AEmY@gsZS>!Zd%#2 zwVqTT4JjNoT7YC&MGA=(WTYV8b)N~w3!s;MDszPLsQ)yiJ*;#2rksupgq`F_k*KfI zeK1B;?gD4!tK4jdwN-OZXnP8DpTjc4?=k|BJVwWQ-IoQT-h4e)UrE=&D~U3xw*cb3 z1;x3cY`svQq#vULs3!9LLdJhvpQ4{5LPEBr`l9wi^d>!u>Us2O`ZZhUR_06e8T#k+ zI4?O-o%4v^7(?}zLiYuIFLly-CB37+u0N2sh&R1u`Y`>8?NgSZ;c|V5{+nGMKhB6~ zxI*u)JFxVSW#+PpmhM+|U$5kMmaL+cD5IZNpy*QG`Ws!Y)i_^|Fbzl_(k-gKpH6yf zRk?u`^cQ^Z^LVzJ`syydo9`oB_^o>t5@G1`&<@`z%gXG^v#tY$S3ZE0{f=<*Yv@fR z|Klm}zWLI2J=6u)p%5eWxt`n(6zyKYF*@|nv&ffOKdJ7Rr7C)(VN64|JTkF#nOM)X z@|=$heJRJ7B)Tl2&)oC(P(PRflHgNi##AElG`@x=ykNmg@PGfOLNd@*V&U2i*@t{TIil_#CgG*U!SV`7}xdAm78+jn{uUz zq;ESQbkn;uLGNf3Hh9!bPBT&r@|}uUe!Pfg!3$miFQ!GkiF&Nj!CV5~wp)%KE9$u+ z?p{#5p2ZEP=-rLWrftcQgqWa@M`j$TQgo)IZOr#+8mjykHcf^)v>mP#ThFT&s~0PQGI~Ue`uOq+)&?P7@W1OaZf{wT*JS+HO>T0;XM$du)hPLSeAwD$qk+@dmfz@!)UxY65$S(UGh z@7VPr-^z9(M=>eePbtdkJ2$>MFQJq`yAM6p$^@3p4jV{7`%r}y>P zI=(O9%C8aZ{8(S^-Yx%J*J&Q`bT=)57Jv+ znknq+fG){FtPb~iEoRY&`Rsl#3onQDBYIqj#_|5`#SN+LMwv)AUKVZ?3pYpgV|rY~ z|KTRzi?WbjyezyZ7G6&3r}VgC(u*vD`?xB~2|aY5Ug|MtGW0_)v)^VA@2q}KFa245 zywiFL?+`v#vCqhgu=TU(Je#t57VXzd-;}X75*ThKIJ>A{(o26U#cr943;*R!8Axy6 z=6h4pO>|i={Y<;W2ZQg^Rs9nkbL>hiYgB*dvyl=LFireNfJ}YH)~uRE?gIS(hZPgA z>3#PgjT^dN0yo&Fm{yC}H(1|MSeRYc^*~+p{R}2`3~5r^kS3Ki^u)e=YNJe$<*vrd z1~PHP&3Tsk&2&YFVz4p9h;OX(aZU;cs2U~%jTBdy5Q7ZvakictIgj11$2XC&X3{vwFM8k~uR4Ik$;l>Cfe)Mym-OsyL2GX^ch3i-IUB4<_i!C(L7-ht}ba}W`UL7&z z<#9A?#0;+CSMyn9EJ4NYx6If|tBlo#yJCu5T;tx`Vo<{J9(-#H|EZcE7RLX_h<{$Giszc_=~In?U&R9ED{YULA`1~P=Ye*bF6Twln2opv|>=k zLLeerBfPJUYd2`_LXdZY1gEaANRrWyt>n3CO>Lv*@4P0@Rpoj2SNR9SlpzmSMdTQm zKTz(nG!xz?OE>Livzy382)|a^9a6hOYCEr&+M_$r{~jv!W>&X7E!DlRvU&$?2YIB@ z%+`V`RoZ=0>w;h>6&KY& zcaWK{Cc^C+Q{NNNgDNz?Vq7&UHuiSW{~2Trm0gr7^R~Nuc@8tIVd%d8X1)iYYWf?JypSx@trTRnqW^k2p7rs}=rC}|jRCIw!RhJw<2;J7u2 z0zVbIsFYdStiCwU%LVCWvDb@aFvgZQE0~zOSnQp3+$vd2UM$UC=AeRZ{>zK9kY2p3oVz$4yd;>F%(w{m|JO}~w2*GRtem`TH;HCt6O$KT$s%Cx zV&0y+n3Z#vWO(jk1}&3hQv6(00x#IAm^6o~n$^ts1+10vF~l-I(8xdfR_EWS?CNF> zGk)E_P0?~nj1+AK!{obc7?y0te~`>fO*4KQGpK=DW^L0QKSZ|2KNGEd9~R~1u&&fx zeA|-SB7Ufhw2{D+9}Z_9P+ha0S$(f`gL#-Y{&mdI`Vfu!2vu-iufCUM=t}!!SNeb& zm<`S9x7^-@dE265-15e_#j>!5TJ^i!v9S7TY*O6#e=oI!z0?}f#B6HD%_Wt48K&n~ zpAdVfrI}4NtKLM8vZ>b8$DnR7(|%Th84-u2Vpd5-U$3F)+*C#9_fT}fFhv(mR&>!q zMHhdn=v%ppzO5aR{yaq#T@tD2QkSCd)H{NwUdX_*j!Lkix1uX2D7tEcqHB&Q`tEH- z-}^?6$?vF4=>2d-HzzB)rK6%-hbg*!vZ7gA6n%E|s9Q$-`LPoG`m3V9bsj3^ zzZW_t>7UVx{xw+9zY`VxUkd16swHTq6x2;Rjp-+w>Q?<((Q0dyyn5>qQl7j^UDrII zXf5{%#nir_Xx;0I)_bIA{XZ0KQ24lX(5R%uaNo_@&rYYKNsHE-&&D~1SVxFR@yA^Hw8R(?l=05tsgrjCXpGkSMUL#Mj z<7T~QE81t7qJ1|j+V6m({m&~p;I^UzpC~%0*l8Jma3WJTH5<}Q35Ir8bl50Ghrh1q zh%7}%o>g?zSBj1nA4^BC#wa?bvZ7-H-h5+Yc^%C5={MA z(P^J4I{k^FGyYI?X5bl_;H+3hXE##x^)8Ce8Kvml*A$)iCg_J`_*pUg$+Y+xzSvKe zWPJ9M4>N8NxStAHyfFyhPrj0gCy3pqWJ8H8iO3}qt6@9CfqHp(9)H6}hC36*BxZ;uPIkThU!FD!O~1q90^l zlH+fiJ#Q&N_WO$N{YcS$cNP8cJ4N>wx-11XI ziN}hb^tmGaoQl07$KN)mla%1&7Zg3yU(vJE6g{^}(epbMy>Lp=i?R`+%f{AR$h3^)tz8dZU2D^0K_dL9kH!PtCgv#CS%#fsM0B?O`Iz9wv6!!^BQ|nAlZLjT3GDuv-WRMkp!j+>kYVf?l)cKoC~Vo!xRc zy(2ba-8bwf)J#Z`nJ6Ly+> z@|?rk1+i0)iH4Y`Zm*Lj;3M^t;px2cETIR-r@shENj)YOnd7(1kEaSH|T)g*5*vOZX@eZxt{p(RF1MeZO2oB`vKeV5l=!T zWFz4xzLXp*W}sVa(0w9vt@V0koS#KL6N_kr9{HVbbzJ$eNX)1A^vI`DfGZcDBDe?& zR|5obeCpb9Q@9ZCP;8Rxf5@tz81WZEFro%}%NLN?%sj)tn(Jk#u8{u2L;VGCffH3JqdMFTOh%W5O4I5cExw@Feb@K^jh!44Ugng@vw@<<*EXELvre=akG{ih9sf^bH zR!oMZq9(TUcyo=yY8qmX&DJtR_7NV7Z22LU^A0cCxD?dOr+LOkv_?>dkH{qV6a7BY z2pa6;^C=mpgL?a9(sz2pNf7m6{U7?L%=cy9VO)3(d_U%k7$Y#Z2K8q?)cBG40nC>$ z>Scl-$b6JBhWSC9_yps3Ju&DQH7_jFK2D-}0CVo36QpO-_qr6HBqaZX;xVpf(o@A_ zkjkVV75_1XWYROmpP}$f`bqI;DKe9OR{S}N$)sNtf1XNZ(yxlYKxH%OH^pD1ipZ5) zGY$vU^Rcs4-^b2YPy?U*Ts8E`&s8HIlYMTE(8_0TCf)!%%6w~|eIkAgID15%VEj)H2`Y~q*yXRl zRcqHvMb714`nw#_<>Mpbv%C>aAqVik^{6m8=93W>63;11w-!nsU?c~%)7_bLTd%;) zhxeHB>b`@HlKB|2P4HGzCKWRJvrU?g`u0=u7j@LJzrlk_P$wPrT3D67vz`d=mJt{< zmNH2UK>l9#fo2Zo$zEtWr z5#lRW#^2_^1X7XkBo{g3IY!POtqn1f6D@X6jAU0~DTWwz1{Pw1+h~JUsbywTYgMw^ zrf7ao-j{Vu9aGl}#+xB{yUKQFO~nIY!rKD}c_Me+D9W>2sxb>R94bz+yfS&gxFSv3 zOOv+7hrvSBwoTfAhPE^Gy*UGFvYS_+yF~4c1kmob%}~(Yq(7yBY~d>{IvAU<8p%`^ zp6KaREPgXC)Warz$S2>e=1iP~7}Ip2gYs$6XPz$8@g&@9FpE0zYtV;=s_7T3dJy!P z?jNcJae7y&B@!w&O^APZ<#ho+E)0k?Y_pSv@$4UFoTk!tF#>{(i^JgL5_L1CBi|it zy;~NW*A8z%Dwhr2jdoy1+6G)?U#Yu9Juu%2@fI}dJ#e*RQ2CTAh7hQc&nSN(cG>X{ zfC|@ZNc$?iRs>7E0&+Yzb?X8BtlrShqI3f+KcU)0J&l0D)=wNWj&)b5f1nVBr~hZk zdm91mtXMz0653f@37e>o;W$I=VH5Q=93N9FtfV$kKf`g_W_ucrlQ3w_;{Jx?tSug3 zIL=8HiS~{VVk{EndgOH(KjsY>PrL|*wm8V!wpO<6c~700c)bSA_ywtEJg4nREN&84>?Imwe2Bsa&rtbb*)`fkV-0;FeaoF0 zS(%5d)Pw=|Im}A=ea&-sCWUg2%I9~i^0H$g)_5+S?N$}&hM2^Q%g~92n8d?HDAtOTZZb0o3?Czhy=I6htq>>dZ9}|va2EVb zFy1mc2OV)_(nMpUo7av<9l~Bk9&=#)cB^saxC7IKJ;R=GU>3HQawi=adM6oi@D+5* zfmwLE(T@4kjKBRP}iD*l|KPA0u+oJJ;st~eTCQu7HqkJRPF?-oH992nN; z8T|Yr=pys;jlJye5_07)$F<82j3KmJlPj33jux4;Sh@bhk-~$zlwWhS#d2es5m?s8 z$~5Z3L)idfO)*+9R|K1Bexx$l2wp9jsYdYH3C0}59T?QuVHds$CvF$GDObb{dj-f9 zF;nr)9fdM!mf~ADd^2gb;#)fWGU;_=3unBQ!@t0kq6-&SJKpXw8U%SzZo7JyaB92V zs!&Tgxi^hR9DSvO7w>T2{zvS*T1_ajX2LSDXzGs~sT)<}p9? zobNDbHG+zJe``?T`USTK2BR7nl)Bi8uH0F#(o@_~gA0lhCg3XWepewrr^GDuP#V0% z6F&#DR<5VR94hHvYKR!(Pr7cA6%CfZ>bgy1@Lg9K;t#v-5H5Y*vqWj)S3Dw<5LC`U zVi1HxSHtK*dV(J74B-8xvv5le{o8Zs*Of!x3=RtoMi>=?Kok8O&LX@+6;UT92)A&s zpeSz!qcT^K;DVUzsNZ3nX2gEkqhja z=LN3fjUS%U*9VEz^0f8%lP_p_*9dJmNW|Rel9ZSyN#iA+b8pZocNFGwAF(XpJc$ZmOHkM9AXyaC z0OT&EAv~#xsBWNz#PSGd>;Q1ixX}o+&^#b_=`Dn(G!d}^v_=aq_gVwFz z@)H{jXJwh8M46!^l|+@po&odh4AqxOY|Kw$cV31_SywykISp%>p@!0WQ@-`|=dEkx zWvG$NP|akOAz8(ZW%T#+qd#8!T`(*3OIGOh)$v zE+8LS@y%u2E%|Z3%8P4PeBHyI1`F(3X(_F@=39UBymkGqYaL>O^) zst|2-^c}}&vxGkVo>+Ac61)!bn2EmN#%rs71{b-|Yv&(<_d%o~uPtG?YbwSBWqAOS zh*4h4LLY@e&C5}xodqtky;rLb!RMir!RuM2?gK8OQl9!LYk5Viw2fKopQqi27jZIp zNiDVRRWV>AAE9f@vfvfwAn18ju44ZM&i;$~9mNiGOwgUJc^T(yRgA-w7=&4rT0xSw z)g@`yP?Gj3l62@KNynZb(MRAU$Z?7^XB#Xd-NO08RY;;YAqWl_U=>w0#4AtaYY1Yz z;13RKyOK)7i@6dsC=(UpQY@QI%JbT*t~KGz0T_-eZ4?81H6*_FGn^JVV7(cFEDaiN{vxZ66rqt^=OD_rC#?y#XKuCoXCRcAUE zIGX!u7#G&rle?(17Z*2*yJt8`>Xbdx*_+E6#l5mPj-v`W`*4qR_T{2Rb7zd;VmkYA zKXmplP|)bsSap_&ua2w^?F802q$k4YatI>*6OhTlyoPoTYKSn(WVX;rU*|wxdEcR^ zEE*6A&ifZR1Q+f7(Fuja($EOgaTD`u8Worc5_teY2id=7c)P_>r9RJUk5?@}E0(c& ziH+EsK-6ExY(dNf0?1eY_)gx>|BRmu<@XvdG?Eh0Zg%l#hfc zqIsSiQ@9j&@Vw-qkuUAX&=qkXX?Es&MI7p^ioz>&yu9`^XC_L+y0)Y^R34Klug!N- zp%4(LBSD-aOC!V_mH?7PqiRSpx`C(k5~}X(g|$%^U3%^m+17iZpCsQMl=2?`Of~S`OHx~HmMBT>9rNZJB9^~genskgNPT(%{b7gF_muixQlC*k|BRHr zx77EM`o4L3ZC;Fsb+i9|Qr}_7CwrGA9e zkNl_JEekkG8jO|(um00O>c>d^Sg9ZPANui9KSAmz{)c{&)W0V6?tkdrs)RUF<0hC) z(qsz#!$z4*RVLGv$@Kp+nW0Q(DwA3NWinftysk{MoGUtnYl5iAF)5Q_HDO2fiOKsfxI)s_Ke#IZe4l1#qogRTiHpi)#fe z7KAH{PnE@WifQA?TtVTK;aR!@4=R&TLvnaMLp-+LquUgN(q$1Ih~PT%@)jO&u|pI3 zVvJ$b>vIUOu=o-LE$`UMYke*whBWb*R#P%44SoY|ms;!EauLU==UDe>4aGoto5suY zlC5Lm-Yr(}H)I9;`$7Q!!65Ko5@cPTfBZU#;hIdciJl<^Ki>HH{SFT8bW`pKZxSC` zU8Nt|Vb_4jya9~_4Mm#W_zXim9ezwZ=^-xMG`JeHE3A^TA>ZYOgwY);{Viz=CT561 zeBL1Z-k?SKJ{0z>Tif5Z{*1Xa(Lol#eG)zqkeYF7m)*olcp4*vg+DK zfkeK7-~-Yd!C?UAq$ku{DTlGLno>f?6Vel^uXN2pGQrB3v_gWXs5478_Z_O3MceaRdXM~l57p8c zs-=6YmX_&8AAnC6m(;nHPJ@r;i8lcybZgFS#51mQ3+2tY*{b}qcxt-M$eV7JP8Cnh zwHbMHtsM0BqSf1@352}b=e>%3iez_@?06q?$8bzNjDF(gj<{cTlB8WJpTM{wgQ zdU^Sp?shzHK)U5^qsfHBjq>*4#uSRS6}M?B;XI=PaqqlMZxGHpD#^2s=<+CKY#ot6 z#hlZKi|m|Eb(qYcrc7p1CnmF~2S^sprv8$?P9r3pLlZnt*HC%?BddkjKrzSG;n9Gn z#8!&ZH&V=XPph@$to5$7-bxDpo(xKg{efIbv3HRT@(tUK+wbfyJHQg~4y`qk!noNMnMP1kUEfr@dBEJR3cvKWLwoR7UZC(|#+d>;U8=?2wfddl{8;hw6mgw7uh^Zo!Ls z59u#DVI-C37*N)KNPqHmNv@qJ_ZEZ=l1f@pFM(;8R4g=$p3p4t_wd_Bydb+s+Wc1* zK>%yEX_OQKoA0F!%SxiA8z+?xbbd$Gz}}%IS@a{d1ZyjsCY7%2{J~Z>%c5rmmG0(A zrPG|>N^J>k{>$~Gixye*lWlc}T0W%TIKweA!<^q%NiizFtz}-mQF)QMOOYjbYL{SU zUJ1IY5^%9*Ng-EJxx25rQH!5R4%xj&v!(74iu@9!Wx2xHP%>P$HV-LNLz~L^_90Ey z&~!FGMMIlP{tmtHkp4#ptR(pw$sJ04NK>_gR+9Yjr#sa4Ax+cn7)gofV@O~9eMPTp zO)S27uc4d!$r<={O^x}*XKT1YzvL02_$&=$!k2vG7oVZw?);KRh2qmSj0<1#xbTo> zY9CqR{z}QesU5b&S4#elhLiAz3%K7LvBYEc_K?DtYey}S%T6BB3hkIBzLBHL$DSwa zsZ80vXpT3uL7c@0e$IK?a9lg*XyZV#=nZX(q;s`7p1K<-xjdguZ5S45YR9lxYv3vJ z9yM^?F~s+`Kj3_?)Q(%?iMmTyY50|`ADE9ST^U;|@g(d=db-;)@jXf?cEaM%GM~{J z?WE*>qBGXpo{!$6h(35G@GBoqKO)Dx!vc>Ae&t66cc}Ai+N{+w1Q9<>xJ^5>Q64nh*+q>oe=+v#RQBkp*)O; z3`B7j$u5YFP*U!L)TMrr3SlFJeUW|rDHX$P%+0e{8^w-@s+ORB+&(3=%BxfZZPVu9 z8q=t3D0ztamexdgzS&4s%AU4FAvv<|ppHoPZIz!w)LcZz;reBPpY$j}ed~IfY@%+V zuS3*L6s4f(QdO|^3TdYK{z!v7*_)_>)b$V{wl3YP`xQDj$6Kac7o(s^j;t=(Y6lI< zQ-?&8A7)ElnJ&jqS9y0wKGa%H~}y=8)&$`xHYdo;&YT3H;c_@9*O&E3a5LE0ZnC&DH{$S+LsP1Z`6$+qD?K zJ*Z%qv_oHzQ~s}ZA$Amu=gr|xErt$YkpNvseVz}m_^;A_Oxe#i$@PF+J@VdQh_l`W z!CCKu;H-B+aL&6RI42hbSO;8^>i~=Z7v;VCo*}Msbi6yY(GXYoUahq6sBSL=*6>20mRbmWgW|=Bnpg*Th>Pl6LVq$@O2+#j*r74OUI`?NR!})fS5g&8 zS5a-yJ5(x*mQypZ7^pW>ThJ`5>f5tGM1GI*Z1McO1x9q@m7;{;g*0m{tn7qqSR^;s z0L0+svNs051c%3=6XKtL9NH6(>TkgS&z4;fgP-XymyMVAJk+(V6z{|yz^DCCv=SPQ zUE)FLJ}J$ACVGiB8}ImH2(VL^Z~C1f4Xft@-;l1BPh9a0sboaWOSH@A5`i!D>{$E= z7sdE32n$AUF*tL)3z2U)y21zW=Y`px1>4Y~VOYJcvv$b&=oSjXCim!X`RjZSu_ePB zk6l|`gUi?;%*_8IxeCry_s(SWb1amxt>&fi6b;FasfzCi;gaiQFsN{SGn%t=3v&L+ zyFB?-@~w26D=LQey4cyMXlTe7qSTpSfrNK>LvDTW> zly{e(+LqhtI$m1PCTqO^+fFy|1_v$%A~pG0>vwp42oLh6@Mo=U)n~1#JB9dOirtXo zG`($CNO0)a3j}vUt=n{y&Kue+=~8})`-9x6LK5ZtjO2&7k*~t|DP^$p+42+9nbJwd zJSINV#B@;^FT%cqE3EP6`D_D|MW0hPXas)=`y+CI?i=})iMd>TfZ9iXfEvMH!akGv zi+sS!6}T=z>OGQA>6 z@7o~mNdB7jXSu)Cw(vH;kH0bs1HoN<6iNT0%D#+DU^Gl z6rK4Z6T3!EPqQ?K08Ty6J7*)peft>oV z`VyTr=D{W3ux#zEg#+GNIKVePTy{r#d_(dNbh+^hU0&C-=$xT7m#u)@d)bYowV+2Y zV(osxi2Q<64!dYX{>1OyBkzAyhol&6nO91}dyiu*nK$mN!|!Y;ODAMV}kD40lpt-t&cGuT(e(OxPE2 z!6}OLPY~WVVq)+Db>8P7fg<5+h~s#_-S=k%_ly`{nqb^B8pQbEEaR@>w;QXoLRfFb zvtRl8D&9$ngf#B*YA#5QaUIkJ0T;yG4NNGu?XfZ&D1c;CzT>?4mJA}Xn}p3HxNX;9 zy5yxeJK+g4^jkx;<@HbwbT;P2Wb7#aaP4X`d3i=cJ2K0U!*3D{Ybnza}Fp8Q! z)k>-2Rf`u^kjY;KRV$-g!HO%37r*%~3o)yebbm!3Y8mpR%LzXQ)=&>f%?#3bO3)H|D8n1huIa=N^@j)4#Pl+*Gs$=2| z?=f*3p|tYBCG}DV#Tm`vf&U_T&v{5jcchXZqH`C+(q`;!`ck`KIXcLF#wHA3ju+8N zp4uPM?w7eplVp(|s3Lu*#X{u#$}ZXc{E{8k{NYcPEJKy7U4F@A@<-%O8}1u$@}AcF zsY?m2O}yBR>inOo&cC&EPT>v50MFt5G_@gTVLHh?{G{^mOyyywL)Gp)M_%n7{dXRE zAN5Q-KqFpaH?J!($&Y{R-|-8SA$lBq%ppfx{P6QK$5hVca>pD`>OpGl z9%$fc&~EJ(s(=PpI>66{ctvTDxb+*k#4Ytps}6K1zlFR~lOq)$;1=JjeQb%F@~CN_ zhI1mt?&kBQo4mU${sA8;eJvQ zF8Lv!50Z*2ib}jh(PnYb;t=piR{=CM#uT??9lF>K@B7B!X}fLEm;3Y?YJee^C*pvS zRw?xkb0-7*n&Hr1rRJrPOFM$xCZ6{M9`?QM7d@v7TMX?3H&^tp5de{l){R#>Hw21t168>os#o$*!7P3Q;z~NOIh|1y4o1fK2 zX24vFN8fAYzyRQ>afG4Oa*0XfD%cWLk@+b0Z12wUvKZDoS zW^(;MDE)t6UoexK|4Bw*a$_sS9nIt~&-r%pHt@25Hoq1-KkWy4Kx8Q3zz4s8rap`kun3?QS1(yxMLXmzJ`VnSwJJ}W6pesH&>PBBo<-Yg; zy5zP#LK|)xKAGA`Gg&xPE^}#=nS8^+2J(Y(cpr^!I_}026viStg>XLo5iX~W`^4=mXv-E(Po+Tip$T) zXPUuP)1N}}x>+wmeknfN46dH8AIIYevt9|A#vC&^IXx7TH_dvH=^e4uoNETxk{;)o z#ZuBML$$yx86m%0pKk`2Pj3v#BC})(xsY6F2D{`Jgo{mgu{u)pmRYQxWZpK5)t8LN zEY=`>9HK2X>qVzG!IE@|8C)%W4kXLWdNJwvs$9Hd2G>Ym0m%xpUP+niax=JQ`gTZG zne}32sw>Ul+UZ9iSz{LKDm||@gIh{wty#>Sntltqcg^~i%>FtvczHU%w!hwN=)0IU znD^;Dvr!BF1(_V$Xf{ffJ^d?O`f&i^CbLlod0p}Zu3b;0<@;u%6e+AOh0NyAX0y?5 z*&AC+VOxZ8Ze_p4Y_wOZdP~&+R;fr^%|_GNv!B%D&^EKt?1I2l z%sQ#KmZPjwCLilGX*Je5ZSs!}G-;D*eQffNBQ$woigm`U#&J`pT4&v6LuT8}vd)_+ z%)K<x$GO>?q#+jPC`@Ov9F;d+K-a_Elf+RKfjgt>IrbahvQsIClzSA8|j+EKnVU3FCy{WLuLB0$$-%5Z6(bRVR z$aLjs@(y^PGbcG2Nc~Ou*ddp`F)p^${y~*0|rYqF$Y18Nr^H0-t@E^%f*8VbGFW|>ZxDmMhQAdB9 zt_}sNHNRJI`#}FcwEtjbAa!<0rjfA7a($HV-}^S#ebOw~QLfM&a#*gbva@jjXS(J3 z{Q1)7l3}?<7080@I3Jxsg!I!03tR4%{?oKCdgGlcD~AHC7G-3?^UZRph~=92TpsT)N6pL4P5ZYkI!FMAZ@U4W>~sE7WpX1tR7vb12LcbRNGe z67H!0Qlhw(SV6AKWY^E@SE!u`&nqx+m#`A+N&^|lvdOy7p-3z7t^9kHlRzw|mAL%5 zmd~LmD{YT0WMPodyAVH(I8omFUSABbit$amha;t7Tjc#aW4~ z{+X6nQ_4!5|6g%(skD`-UZ(PIpKCKH|6)i4j z>mmYeJp-!NA^LR9&|3#u2^KG`TL%lPlC_pKMNy#q$v{`X22{m*AtaZQtkh1#KmO%i zs#dj9-*ZU8XOOyu>kf#VzpGhoja;g3r5<oAO{9NO4Wj!l(n-t_yeJi!6>OJy4kd3!X<#->6i+=(wml{~94V6{FjSi2l(l(bG zTB&u_ZTB5Vc0EHFr{XrUQU?@>Tl^wo6-*`?0vC6UTxx8k?)i7^G_g_-hh|oDD>b%2b=sO-YGI{bRgUtS5Z+o^sZZ<*MW$t~c}JjDR%`qb;QJrDbSrgSewSl!5O%aur^w#NJ2yWLAWXATm;FolB09joqIa@VKau6h zkDg1Nt<<6gHpW*?Zhx73xf;%)m#oxZ@?s&qE>`NKf4cUL23@Vx>Ho}$SM#!!+V{WW z@t|QfaiA?mhQoE@;i90C-{cu++L0)61%F1<9e=9Xwo=T|krl6kzR%$7wl9`ur z?IZ?TsbveOWN)%ngRE5h42XTnab>VI1gYfrNeFXjsFiwfxtoVD=~x~B^qrXIN=N3trE((uNnjo@J#CD|kKIN*ht|`gJQ! z{w|0rPY%to(nb~3zu~shMi&&!wbEWKc>Si8HooBXJS%Nd!Rz@}ni?cnDALz_f#FgA*3Y_pj94bb_E0vw9`C&^y=sCjsf4!baSaX24^CYiq>seqhgM8`!}!n& zjA?7#HKs!n(+*R9sqDDxRIfSe~SvU-V&o~4QHv(fWfkpW5#R@(;3X1)!-YVr!vTJVMrbc`FaUuVfxv$%0-reu3NK=A83MPqiP;?p@Dupp zmLlsuXTTM{jKFadK>&U(P84~>vhNXSzG%+CU<5uT5NM?lI9v#g_0 zfuk}4pIRI=;>(r@s7Ll|59zhro^mI(;OurMwX~73qx$t9k@3o~^bw=RRT|WP$mp?^ z`VZ+fXmmzz`zj&9Gr6WC+H<_7V?*@+$JleThNEfrwpxyAb*X{p{uoCMs_2Ov>!=jv z^CRBMtw7>@EQy`Z@NEjN1JLPqBe+l~yZ=~6DADVl%yEth)HwUkagL#+Jt~tuc!I+u zs_Pjw(cz&b+5VFpA8CcYNBju`g=paU#O+88$|y@>-C%qoiC-N$58B65HPcavgeN1@ zQA7KpjAuor<3;V_#q6Il9owkTJr{|TDMGxKy=97{wc*}>3dbhEL*O@n&m@Wi6@j`y zTc9T}9+(F#2Y8d@UMs{jJcZ5zzY{3rPvRcvK43ra6u1B!15N@aJhv z?1iz3ZwgERb^>1k;n-5P0wx06fO|mbSv;5lGJ)N|BfxnMFJA*=f$6{^;56_DPziJD zE5JP95b!M!iDh4F;5A?eki!eBqF9wS1zrW-1I`0CfxEzc;1Tcy&@aI$&;)oH=mGQx zMgU&`5BM5Oj5WY@AmEA+4S`X>2H*zZi}|GvFap>J+;Srb#Aw_U7zbuE+1Z)H70h$u<0AB%BzQ*Hk;12NkYqWodhj<48=ody}GU#034Pc%{Vln6nU>k53 z2zrDn1=4}hz-(XvunY)~A+ZPaFz`Fj_8T+@FdP^QOa`U{vw;tQyMW(gw12h7XiH!= zFdy&$yMS{*4)7586{wMmH|2qDz#yO|Fb9|qybb8z;#Ga%Wnc#IHgEzs2Rs6v0M*~c zza{OB=6;H1e}c!%ZUm9Qo4_AHm+x>F0Q5Zud|)gv2{;B6{Q;wGX%cflO90V81)wre z4>&ePh!&uoOOa>;+6l-2h5)Yt(}8)w5@02;8*qPw;5hI(a2L1_T#G014d^rAZ$L+G z1AuTK8mI^)19gD%I*C@GU4bHTsB+M8Kql}8@D8vR*asX0P6Ic9FMy6eqW!-GbNxrW zZV5`D0YErV3aA9s0a^er0X=|$z*t}w@Wv3726Q>F4%i6n0QLbVfh$0j;kZMP$sF*0 z&(Lf@XP_I<`x)B5KbRrFa9}3zHn19aAJ_|A2EGKYB#>ya8@(3%uRzP6P@TYS;0vI} z&nPwUGjR47^!i`%ycReDRQ(M#26%v@K;ZAV+kjJU1fhT6g#jQ2I0#hx6N5XD3cL*T z14aRpfrY>d!2d7Q#^2BZLx9f#7nU(AfTvi};9o3aA|%laNC7?o;v6L20+s<&pk5E^ z-i}}o@DXqdxCRJR*KN>A=g=QObAhM8A3!1K>SLbRlZyKs{9g2r2+-0%WuOkw45$vY z2c`hi{RqnyG#mJ6^sTv|i-31^a*Ly2I+h{)D<%@Z!`Uq$Wvqs0L2gv(4-gcEARL$gVMov|Ko8(PP^mBy1!@BgfnR{}SUAi8<^l_V zZ&1=Tpu2#5z-izja22=?d;vTLdKN(~1EmA;=_TN<7(`+Oa2Ti&jA{ek1S%HAasv1X zC>jD8P_!6{EFd%#wFN8!P5>oP%920~P!^~JR0k#j%Ym?P65D~);^;4ch(N6Yn0N(+-fy$921_1Mc2S8ybiJHK0UZ7|OdOqo;lNU06>t+sEQwMAJ%GLde#<}%jwSp)1DXkZ zCeR)HG|<<9CBQ0RE3gyD1`Ytnfh)jB*lq;<47dXf!u1F@g0FCq3p@q>0349{0&Bq+ z2Mq+mfheFfkN{Kz>H*DwHo%L(CZHS88yE--2gU%CfEmD>fCpF&>;gUn+=mgI20j5E z0gr)}ac~G^03(1OA^Qo?!0SLT5CX&krGSe-6`(3m7pM=k0MdY7z;M6~Oa|rw3xL(Y z+BmfT4luibqrh?C0&oMk3G8)X+y;GjG!_q_Pk>*6pMYP0zW}`yi2xuBhz2SHwSX6Z z=0GQ)J1`I!3(NrC0@eXLN}>G^fjI-*03HHA0e=I9a7zUO;Xn*f5l9A_1MPrLKsg;9 z3v?(j2$%qj1!e$?fi*zdI802SJAe;>4}s&rLEyX_!Kc7&AP0B^d=LB#{0-Cy5W5I;8L$r64D1B<0Y`w-z$M@Ya2NO*_zw69_!IaW@WGx4 z|G`oe0SyJ5Kq;UCPz87!NCp~~Mf(SWX$iCkUINmA{y=G9B(M{h2uug&0&fAUfQ`To zU_WpiI1hXZ+y%Y{z5{*+{sIh?)*lD~oIoj{B2d+hpbpRsXajTvx&l3cfxrl00x%Vr z11tcR0&9Tx0S}z-1lywh!2Jq>;lO%eKkx=`nosCUs0@@si z1QLPjSZXx@Z45L6+5mU4RO^ftc6;#M6H?IQv52gOX}327gMn9pOkg}V2y;Le0?UE* zz!sq9n^>ZQ9t39L{yz!&F>o=#Q`zH)%I@fK{J+I0GOnDyaR;#fZ#Mnq4rY7Kpl86` z0tDZt8}4K_=koXm;a=67UbK_hj8S&_%AG(}spiaJRTJ3 zDw-olZc|(hziLKhmSjsyE9?J0_kJEA>-YNedcE&C_ndRjou4~C%E!w%X=c6k;NC7UZOi!@K}heUHVcVnZ8 zA(BE$ilnQC5TQ*G`JV}<8JIIZVA8-`9VJ9qb3;^P8xg$HSY?Qm(A5Y!jTa&$Mx{$E)*{G~@`WsaR?2mj`;aN+V<8ez2M``2TTwJju(A+&O&^8Onl=PvSP^@T!pNkc0olYPeO-Sh>B{FBu> zTvV&Y$wjqNVpS{1Q7gBq)?o@pVpT0D3afRP%V<{%@}g=TDON2gidE~V(#TptQ&=lo zE^7rj*D8`S+=bOrdQ~mxxmwT{Rx6r&s~Y;rxrexyVz`%*xhl?F;_ivz?y1gIaPB3p zKn(Xw4ek=>K9VJm;SNcGq>S@@QbleR!(CC6JHff1xUezY1+}>Kod-y^{XyCGG2HgG zxqQw;BpdyMqDGHxgrI1{;n;q@`WWr6B4`CHotC1EO|c1`1J-+rJDw*8M#bg~-;e$(ifH%*q`e zP75fpyV1iaageIB$IK$v4dB(UBL~ud|Eb2b+}H@p(Mms!1SLZ>ZvxNfQ55c&4)yO* zG|{J83Dei~ukWCCk5RabdVAm1qv3=jG7zJ~&9bJWK55cmglByP3Ja=iCYt^k=8Y(f z5GBt&Q-SuGK6Uiq>5gQhwr62gs!9o-K1meqeqjP?JcBA}!L>E=<(S`MC913ix3WcI zL`6L=xV82gG{ucZRnn_!!R<9?6_&5zbfYTkAr#zM`y;VPl&F`b;O_qrRndJYxTp4- zyU?Q;Rh4D^Z8KRCIj@Xz>3$SEs95G=R1%AZ|J$^hUWS547c*6r8I`PuQSiin%d7X& zYiq&o;))Hj7B%!#EqLy~q zHS_`1&@zuvjZ{M`Gnt8M=*Fs{i!v9Zny7~UmuXYg&_$-IGNYQQhW?j4&8-@`nBs)2 zMRV2APs(Re3)Rpv=ULQJHMAXTr5aksW>BCR++3q}dvICYG1@(-Aw*YPDzaXa#-OFd zTpGM4p^^}7^x#f9$G%J#qPre^P~*t33>i7Aq0652#3bX|cv^K?p6Va_+TfVqRVA{! zOd5=MMt0ff(2#GD(WsuP%XTEO{3}j3s+a1r#l=LuRhJbP^-*2+x#}{R$Ed!l%aobQ zgxB0r{Zy9~WiCc#sxJGNX@AvaMW(7UqXwuh`auzCt>OO82;Qr4U&+4xM)hqM-P_ZBpy{g5r@L&%$>vjm z5xh^6^VdAOXZ&CUx7XL85My*_%EoxX!E(;LR)S_TE5YsVAW zL!;fv?m|3LNq;vM5N}%kFz5xz{Aq}V^q29s5uEo&q9?W{l?@aonZbe7xjHhJ9z1Po zQk45_A0ZrO@Q?FIHw`oRgvNvKziX$)v8>&RqS~F5te8iZ>0<_u*Jb*D){ZM_nlj<| zqG~KpZ_ zo9%d`xIy>5g>9xE^D6kZ8!m|%bTBulC7mzfAEaldq+nmF$F!efRPfx(pqiBGiSI}? zDt6N;xKq0V44}@sYy*rcHJrL8a&}q4y~PxxlV@s2igah_Wcikmz0_6>zIOT?;_0Tn zO*`l*jnI+8QKuD1mQ}ihc%6)Nr2E8YiqR4DqEB^Bkcjs0fxJicNNmpe$UxXxjupxJ z8@dnXi0aS4Sz?WA9kI7+=?U#b0q*}{o8fm0fk>U8W54dp0@3hgJx*Ukx4|okGHJLR z;=RSi1)*&Hiat$0MhDPL3wtuwjQ$1TsP6${k-n$m6VtS$y!>EI{InFsxIYizt`nnjmuSlWkC9nZqf9^ zbkf_Z#to>Vckum%=d*P*RCnpUeIFv?xAS>OgrP4(Km4F9tFtT5hRzgT{VdAjm&XNK zPfL;gFCT;VEs}QZry|^jLX6dycnUgGjC(7m=-f}wAzx1bTVw5s?)=cecv@^(e8B+Q2CYl8uyaL`#i-vAJ&gg8u4c@j}jS(vv z&V;y6aq&hLH<_dNF)o_6B_|SM3dXsQ;h<;u%v!?`Tqw^=T`Al>L2qD`qQ0>5dzMW% z(nLrCs5whUD9I$fy-|iH7TVOg)J2F6MhV(Tlc5TwX@$o1ni}EcJCD=#Y-&U))=xU) zMitOkvW3#Q`z@M+T2v*@T&7c*!Y;|Sdy&&MnW{H8u9BuqWJyt}u{s&w+La>INwx9h zu1Mh6NFz~^pNM*PLz0w?A8s->&~1*P2t>f>o5G$5CAS zVj?V$J3X;aQ*C;WSJqI^@TV!Z{XU)Ix8fws7y2$;C}y`#?Z)&FVy`}%-q-i*@jGZb zvZ>D7fuhq_@I6 z+p((;bV&|lcX+^SF`o_=v4^}Yyd2X%)Z>FSPWNvwZb)r6%0#;HvT&nVxH+z$(BmWi z4>v_#l!f%-W#L7!@N!x|qsNbuUSt*ACskEW>7fVo@^`tAp$EOpA)7(E^ZEt7!e>S4 z&g$*>P+2ukgJTyJaaZ{+BmpAiaHG z?5(o2L8)bqb_c8h! zD8vyrms#q!&{Z9ZQO0N^p_$INbJ}r$reQL|Xy*zOVx++%&en4$7qW-+gfy9IK8-QJ zPDG;3G}cH+mr{5hXN)%z#y{cN{iJJUAYFS|xPHFK_4CrT*hS?#Gw5D4ApIFp}2UHCOkx zxD~M5-f6sNB<-;^7_&)xSb;IC7?f+5vD+xQ!(p4K;&H1%#->~~o83eu-8&uJQX)9l z*lQ#$Q`VvTz{>o#(Jk5vH4Wcjy=iGf{CUT}ozCGoS{_XS;j)mH@{(Me|$;}a> zjyBXk+IgOifOlS?(;zu?g|2``ZA9<|1;C?r*a&y#k$VdyBIXx_soD`kb6%py;GGxA z*a32x0zjf}L6om<$}XnZNE-MZr-Gs$v|myhSY+xSNdsCy5J_1bI8{ZdlsBT^(n6rD z4uObz2H{ugcI{i5y9DHeAi-VN5t3w0U@LiFwXU{FE9tx{@2krD-Cq~o7^W@g- zRi3$8P}Cztzf;z^8gAYWaO~uQ5Ap+11-YxVdo>?4f-1;BRgfC6DNx#dQd=K_om5t& zf$pG?A~g{%*Vqmo|9(`Z>d)%n<+n8;z4H44MGbTJ*DeiIWp zRJv$Sc0Zi-%9|C;+F7mo;?m}utY>-7t)0az#;;;_QSE_pmNbk6lL9VDLqVDSaJw~- z0zMY+QAM+oS$lb*my6QNa<3Q3V2*W}Nha1V7JFA6x5^fa7fTBlFOJCdLRs^iZ6}1A zYG$&DHK@3o|MH?Nq!%wM*Dg*6FV)Q&W_*PE|LZ0~T1YouRxVz)n-sIAiN%X!vI&L!U)+P|ID=dSFlKw)4Eb~ z^=(V;i-eIf(Ix_uI2z7&Q)9D{*BDgrV!2g08Nmm*WSxA45fW?DD9?Z zW|~?1y4#yEA6rz4>)sUCSr*nrtNl3-EbP8om=r(x-&-wVZ?(p>G+UYRFOe#}3^R+G zPl!F#&djB{HNQoPa;e^|-$C7AW*dj4U~Xka=O-)rLJLJ->Z9nAk%}&LE4plnqA#yk zbotkczVe5nuLd5Gem&8OuBf8uYxNaf+5QNgdZ7TT1}MSn;}l)Xr_E{apzjTE}GkQIC<5 z{vNL4e0cHE$7r`?KnIjLyZ&m?VJKVQ)X_Z4mUSkcCGoD15xiJziP zV-;;yOVPA8iZ;(uw8eBu-Hlr=Qi4`%6iq*-XvQ7TX}RV;+H1mbi~f!ioI#5LGfzr7 zaD}3S-cfY$`-%=ZtLU@W6&+fj=&;9%K3D#fOh3F4Q#Z93(NzgX4p(&4EJa7Zrs$Xt z6dij_(Q)?`9bfvibo6{RMJF^?bmAaICrwav`V2+gixkaXujq_iP+Wg4W}Z}nS)VF8 z`;MY>9xFQ6_l(SFUW}sit1G&oqoOZ7tLVa6ioW!cqKjV#eV+_}D|SDXu=p9i*iXKa z@!3y)%(z9seky74!61A;m6A*pH}jJBl#`{OE4u8yqWf;ImW6r0^jS&wS5@>tnxY4@ zByH1vhN2x-DVn}p(Tod4xD@T$RMBqT746gM_Rd$d&qGD~27M&c_p7LAW&@^fYSX{76tr*rtfDU+RCMtPMVEY{ z=+a*mT^4qp9kqYirRefzioWu+qOXot)U#006{{6}?QKO@ex&HC??KW3?N|F;kPcr@ zQFKjfMb|x}=o=Fh-LO>AH{VwDt)q%={#?l zkN>XdiLgu3&&leSe#jWvqDVDw)%9u?e_{C%Ycj0v1tux-lgf5+w<*E+!$L6Z7y}Ly+P4BdnN7G z_@tsuK2fykH;OjZ&J(Kdq>Z975HcJmbV?e39G zk9u$CdWMm&;l8Mryi4}d_p!b7UALFKZ|o)Sj=j`<%S#>B>bv$5SimdZLYigvGV6WD zzWg3|1DLhgZch_A_B64>o+ftM)5Lp~)jZMu54(qSZwni;g^$w=YbBZ>tk%rj)}!e~ z(+Jdcr_*z70y*8KPLf0SKS?;-pCm&sbCOIw_#|0+$Vu|iLr+o(J?td;>ftBJPcM6t zO6n0OsgxdhlKl0klT=!Fo}>UhM!0a$7n##BFP71xBQj58?GD#t!%tBFFXI&-VNwhb znYX})>1Dz*zXcPj2jM1Xh;CBmZ-_?eu@Nxm)n1zWh)jR*k$Rc3nPFfe^q`7bS>4bw zD%Ep! z!N=?6%4W_16Q>7N(#q+U=HfF@(sI^Gjsq7*lQyx8U*2%>Q79>wqmtvm#nGg*EaTS> zT>Mxr=^95R$ARnGgo+T}V8$%OyU%X74^{5|wnoT=2f-Bp zg)1FFJl}EcvN>Fcl@yoa`WuCG4Q4rWr}1tPw&j9GzUH|-|Qy!7LERINu z-Aqwh{CjkibB*T{<5@~Vi1aHh+{DF$xQxxr@aoJ@<&q3UrsocwLPYLaNL4L>Q$8a9 zNXMv3YhQsR(i&AMB{e#3?K+N7$1NZiNN<&ruyzkv@1J~)FOP2MS(*?};m+Dcx~V&d zLY+sS>yJS*Y$5kR=q+6g;cY8o7J{;!JxB9G3cvNkxN=`)) zzti;``9#gt3#v<`|8!UH04@efuB8jqR~hIK=g~d=0}PZF5Vzw|il>BZ_6*|l3C{4Q z7o@_)L+UcQNr-3JlN&a&ZGOCc=y@Hpw&^ouUVCkWZ!S3Ks_Y_%jrqO%D}+mZGxhk>bx$Y&QL__>ZW3HvOUa^HeFD{#5)0s)|y% z4dZZNLm#_XjeP841vd66DpeDoqEa>WL8K9MjNoIU$aF*GAMFcBrN>tBVN z)^3-oTuNcQ#|d3NJ|f`*Z$eYZ*_w>#Fgd~NMs#oj=Pcb?sCl4~8rV^HXVWdc9(N_) zVJd9<&N^!5XUIP3qN8Rdjfrg2RY!aKD|t5^ZCu*mNhPqmj&==DweO)P!@I8$5IB*t z$udTA!bt?@B@{oIbi28ykdIppgTSd&Qe^V@_c5Z&x~3t`aw=s^F~W_ift#&tDx)%e z$AX_=#c#1t`4Gi#wa`GJihtKa7lj$$alYFuRHUl*EA!he6y6>nITi{pj9=ZX*kP3y z30zFsHkwG_dfWUI!)c5PJdP4X7~HslC%6QW##219&sthGMX6lRSy{>>igkr1 zU4^4jVvX3q&M2ro+Pk19-4vtJcU4_Enf-R-t}N`V@M8Qac&TBW3moIUh{y71h&OUL z*+d^*Uc=*%MS0@}i^j7$$>@o>BJg?U?Q3!ZdJV2zhPzT=A2eeHRfxVk1`-tCPlvps zk;F+eb-1je_^M&pE8C7E=KmXj1n_ZrX`$xZ6k#Fr96k! zQT#GW&Zbm$(nkcoOc~i!S9x4cU9zd3;$NX2T)A?b_*LpvtQP``@v+6~NO2Nsa3gqv+B8Lu&N{petbv7BkhEisl|g{2!}+-I;5Q`|-ddZnJ3O&wIto-#$t zTk^WBZ|YdOIvR_Dh0tdyccGx02yYG?EYl?p$|phBJ#FXUDY(~QK0U*)Kpz^ZmS3>yA<%WbWT+O% z`CX>g@Kk=b5dZMX`vQJc=pSX+W+zGs(G+If)Jogi@DDOBjDnLq>SxSBx%=CCx2!hr z9bSP{ZW}U^Y;Fw`h#bV(tO+Ud`N3fFYx zeVL}0#*@Wjay&D2>;6NmfzZyUECVb*o!U$T4gcYmJ_jk|S$CP94Zxli@&Bm#5W~Nt z73XI+LPv`mVKY5zIL;7z*i1tW$7yPVoz!L;W;jmS>_EeD0tRha{G8!9Ym0{)j&qVl zrUN5zM;tD=9eH2Ik9hqj6K{f{Eeo>I*21KG zp8G$P?s;Qe$Q~+U#~A*Ps3Ynut`RqE9!)mhN9D`SRpnsWRoYBb@NO1;&x097S&X8z zf&q^?tVHP$?N^C*-{lvp&d66L@`s>xhE+pVhJce?*fT8!POtm#Z|O;g}L$2Rni z;niFa+`=!hx*r(S?Sk{xbxk(JW!j6u@!0mJMkiWzkk0*#LiNEk z5jjuQm8Xf2EHRBYm!WP$OylVy6nn*K*O*|gO71ceB^RW^B)>no0SJgH0hRYwLM6U{RMD*0Hmj1KTn z$zND=jPA^p#>tr_+;+KDrC#Ig zmKqN^`5Fgr-hBdB!gjf;+p1zsw7RfaUYE`CiZWTty&{aK7Qn+gM{u!q%nu{y2TWQW zq2kg145)DZhRXw!Q5{T5&)SNfJXkN&&$yzd78fPGfLQ!jJ@L{6CFfv-((qNDu!UH) ze(23OY;d;L|>VLTapeIl;Oi* z%=-v*|1z584B}&B%sK>y|5Nz1D3A}B(Q^@){tGl`0G~wVUsMg8nQG|ZQ3{-z7YD56 zgCCyIcL0eBEYvpS&%L1KQzNt$K_c!=5zp9(f2t(4eDH);gO>kd`hu}U0{J^b`H<)g z8I3T9!X`@+K1-6aFG>>eiX@S1Bx&}x=irNU((S^+?;}?Ee?+1l*huQx93+Qg(?LF` zEQBXC5&ax!39&lD88-=>Gk!M094fa6|X1(1jX8s2AUjQ3g{izqRg6Z(n`hO-iWRJ#(})N9Ai z-z;)I@33-?(ktt#7d)H2*7c?J#vbEE-%q?{IIGM2lV$!X%43ZS zo}RFg`8SdtHx+r@RhU01>sl8)`@Ggor1j<^>p4$a*SX*cTSB#~bKROr>vxK*?=F9$ zZgmS=F74GtRH1IY+Zs2AZ1(0d^_HU4-xQ`Up-T2tVd@r~I=Oza)GcM|twpK7E=+B= zYl91(>PzibXf3VZEwcXZN$W-zJd3^7ZKd_LBI_GZ_Ck{jp6{2^Q|_G@m^Z0Z4h0_s z7oCa?i@(@g+S!WtRL+)d5XJ-|DD7XyDB*0u8!~6}st6;l%@TMQ9&O=xd@QQ~tl5*sCk#Ev>tF# znO?0v0$+Sm7H?CPdOWy@hK1^%S<4$;rR~Jp$U^NtyjzpSJ7uYLudN0)>LJF0tP9>s z4uqaJ+bVTQaQ0tx32cA@98+{>Ti%^H+mz?9T{VO`lwMDgjOLPb%#fs0Pf0otlBCOM zkeEEQNuc8-Y0mc89lC|HLp~%idl3Zr54Fmu7UB&h$~6rsI+O&5En7LI;XPU;J+~Mn z>H`GnK2ZBlqhO^zuGD#~UgcGn%=fB!4~Nw6g6t%*XAX|l_>1Dc%+SF(u3$db%k zqO^FT7o|mE?@0^pJt;2iHYt|fCgp|wm7#O~Iyy|s3wui0qo<^}u!p2r_K=hp>zb(R zs8GiPT!CAJu`?)N)-&sSNrpURB5UQqUM#A6Putl4u_x{o8tvxl2Pf3hE$1^lhMhfm z2s?Z6@QvZ&8^V=#_U2*h?1ND&oPD{<(L7*7QC(+09;?nwu5b*G(=e{Avp)|}=K!v5 zG!M^k)YK_QrgI?IHJV3dS$&_ogmVy&NatX#Y77s?2(G4c2#-VOv&AYJ^9(8wnNS-= z9XSZBbHr$bF{xawl1V7!aNZg_pUXfP9l~sh6TZ%2yrI5H(K$4<3OMgy)HFmomBb(v z4ogEP@I}m-nUJ&&c{WbOmF(Nl4 zh8Ox+xh-fdSNf*6*@1_Qa%%+h;D^)tjto}-_yoJW1l{Q zsVm|a+GCstRws@jjY?jjD(aL|9H7O2it;Tkf4yA|3?lDj?3WH4$QoY5g$c@C&+gPwe&m-6Sr%n5WV7p976PtO#|Pj9A#+p zMLFu^SiHm#ar`lIU#agW^_j)=haF1aU+M=)eO593eNy^?Qa?!Q2N&wK#jzsJ&Hjf- z{j*X(l=bsu{+NhW`e9Q4oYW8h5B&(KA1U>t{zE@n>c>d^*njHXvV!BJ!FXx#{67t( zeuC6bl=?~kp`R@EQ>1?Cf9R)4{dB2!|3hC>)i9f+#SD@rGwB~T%4C)@nGF+9#!7ro z%q=%p3FoPF^ZzT|0%h`oGQlSK-|hRNGI@z&hr;I~m~^7r<)|aoWn)Z1u|qu2Mo|SjxAMgm)Sz3)D}mn0>7-hE>{+>{D;M>%EF^8R!EB{y8bna<*~UEx{g{) z&h;D2fvYGsd9@I$Ifa9VN$fmCUzZLR2jG=h>am7m`8n=dnQ#`yQ-;1+EXS0PPisBf zR#9k!bw*+$-_i1u0U!FlB)rMG-l$SxAZq4f@z->UPT~5Y;Zq@MhEwltI*gOcP7kdn zr?J%%6EAq;S5xf}zIM*Y0&r$%g_39m&xq9&mQs2Z+DYT2$B~pDW0gIDGo)z9r;~3< zTN=L260OXu{O;;W%CSV#SkKW{X$upU;aBD}I42DiYdV@;zh!(WEIw1<3G1vWpXr zK(L$irf}$w_30jsQ%W~0)07fAUYzbx2c_!EfC?-=$B$$M7PYgc`av=QiTi*SVDnSKnM!e_1`X^kx+jadUjX94MHp(Em%(pUu`5-JJ^E zXo$ll(U+mP>JH0ad3g&G{x%@=Z9^R4*K9)@k~qSuuuX>eaDF8)ktB}GH*iZB;slR7 z+;w;pkG*+}zix@jax8AADQ-LkuPmQ}Z>Ooqsxon2+i4ndt1NFpY^UkSFwsun#)I-i z`4;YWJW@cuiMG)U!u^Xx`~JmDim??pXcpm?MHS-Fd4pag+|H;bZ)e2RMJ?m%izEth z&L*z1a}Kp-GMBnAnMZ?|%%_ncIkbQ#O8NrLkaQuv;Q4YrC6>%vC&XJ6duao{;qsJx zm!kDem_I#Fy+O`;Z(EzJl<*(Ppp>|u$dwXz55*wggk8A&uDxdmxZrNmMk6JBD5kNp zpX1q3O87X>vNv#0+hU}Y<<`4Jb2Qu^!6f$;9@(Wtu;m^4n)X;JPS)R{+w_i+5;acB zzoA?!B~tNsXm26^E$y>Z+MD#$9lA?1jFgx^P>efNK(`C|U+FU=r2?1KeTROdYj)%g zJ*4+7rMN@C(|#)@fsO9aA9TP5fU?mY`jg}3xOJl4`w=!yDQ86w0n;QUBs7Qakq7)O{B#j-&MuI)r0*LL zz?yBErUb+0M`^>dWVCd%lnMdPA1Dp%O-jq5U#JIITiHCNLUrd)wz5SI-7l_mw@j(f z)%m^DMruoXwU;hh<L#_mLyx$?v9iEi-Zm+*s=RGwS-w+ck)>-VYw)vOgL#ED z=&5SJ)tWDb+(eb{J?};MW>Tl>ODNyZpM{_5{*dO=IG z_~QKv!`x3U$S-JW&M&(_!v*>!&j@AbYnT(h$*^J2X!_ zYKgDbNPdxa%o1NK`AQ8pyYH;yar2=i?y|Q#6uw$JZixbRa)(~m@SOKMIlG+me7=z? zR(c-Y@uKz|7xA{AbFr3hQH5IH_hfh zd8cTpcEPg*_Njb!=qSE5oGUawJ2*WWpBvhDPj=r`ak5`&)l02o+|%4cELB;1%FdZ_atwks&2j~u}p(IA^wiT`is+{ye|fQT+myz?ld~Bs=~wgfnO@zu(78F?D&;za0;4#win7%Xno_6^jv+rR zmb_10jUT4+9DTU1YOC z*}SR6e&pHq4#iSW&xLm=lF~eP-@$WK-mq>_CR>%8cZ(Hf={mQ{X`3?HuEj>|!G!>m zj`C2575|}Ki5Y?^#L!9;Q2hMu; z182Safpgydz&W`ez&0RHZUZm@T#%RUJBGN-$?O0U-wAE-`Q3&1!^X~gkP~lotfzL7T8r7nO;GHvTLP3RVR1|m6P^94fu{Q<3*oH@( zQxcwh#MvK?I&2M5md_#uKc`YhQYA`I@3D zd?5fnF+GQ*G&})2*0-!3at*qU*5E|9=r8$$dv|aQ`$88zpS}vy zxLB;lf0Nw#W~&Qk1_n1a$2ev4c6g?Sl1!+H-|s*~zVI{pG*39O7 zqWst{_jdXO?;>b3G(Pifr%&->hBm{k4MT47Q`H}c_g30W{!}$XeX81Lrw~7S#kiZE zF%$ya^cw?$i=o~Px<+}1Heb4wAJ_gQPp6PXJ3k}&ZEe&X82?OJ?0bRyYV=jb{Lj6v5xSK9u%RfAFWW{JCo+_292v<#)6XRkOMU z&b!_ZX?v&-Y55lvA1O6aD75lRUs;0Ry<#oWoFpcSxV2mi{)_7X<`0T{r;iYSQgai7 z3fI#iBYA^79;xdopFS`u@8IcI-NU(R_{h5f`E=NGe+NGf&OtKyl>LYiwBihvZNWn^ z%ZR|QA7Y%~0{QtVA&$VxJMdYn9W>PYEqOXVtDdY3cj9d${!F^q<**rJm%py|issW% zLwiY%-TC-I0qrHX&BNtO^40`0T!71pN251GOfJWavvu%>Z!zI~`q0oeYWzVs^v8{j zxEu!A`Wc|1Ck*ZIc?d%>=nuclC3HUYZ4$(iB|4U(;O%81xP)sV$}I?XIM9M7m=?N@BF;Fdp~E_8dw&^}|g zZcGF@xM=6oStFt^Maq=tn2qHkU#8PY$s?&SC0hJ1S)kwOBcsM-zA2|Zmd>N|#$veS zE0(Rjt#H8G3J3VYhs!?5kFQAn(JeQAb<68|K3y=hma-R6dM~?)v{uBw&k=Ufi28za z4!dMTJ>d80QT9J-aoL+_+GaWE{>; z=@ZZTUHFBilnGb^eEYnI$}w9Mz{oWK;`llU^5|2e0q8h@Yq1A36el2mP7{h_kz#OG zl1$kDjFi&7pu(;MC#xW4`D7Ku=CP1JBewRIz>K-Krq= zyDDGB3y}tq{ZX`hNuT#P@@2C64&I~4m&p{1%Iu553yZdo=RH5}p~~(cvpGIX*~MP? z6``V^hvW*Mf|v&*emzqD=%D-vCZEcfwQ9>5@Ehp;0Ol=J#;FMIsA&GzO}>h5&>;

@||F^!-AO4hb>L(S-bO(sMWHmX>EZ(ujZQHKr3Z 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 IfxDU20XBMwzyJUM diff --git a/openpilot/system/camerad/camerad b/openpilot/system/camerad/camerad index ec6b464430737115b1701437dee6dc6c72e6c6f0..4fa2dc2461b404519c03af627f3232a85f81cb81 100755 GIT binary patch delta 5393 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 H_Z0mN+6El5 delta 5363 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 diff --git a/openpilot/system/loggerd/encoderd b/openpilot/system/loggerd/encoderd index e5dc840d85345146e8f69a1be84f1fe93de89492..83d9d4582cabfe334922d9d87ab51e79e9e65ead 100755 GIT binary patch delta 11197 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 delta 11152 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 diff --git a/openpilot/tools/replay/replay b/openpilot/tools/replay/replay index 42508e30f82ea3d3ec2d260221236440a36a992d..bd847cb5ecdd354d7933ad5f522f03cbc1680fc7 100755 GIT binary patch delta 5520 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 delta 21 ccmeB(>xkQsti_RJVPKeOnU=OWTWc;0095G*TmS$7 diff --git a/panda/board/obj/bootstub.panda.bin b/panda/board/obj/bootstub.panda.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_can_ignition_only.bin b/panda/board/obj/bootstub.panda_can_ignition_only.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_h7.bin b/panda/board/obj/bootstub.panda_h7.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_can_ignition_only.bin b/panda/board/obj/bootstub.panda_h7_can_ignition_only.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_hkg_remote.bin b/panda/board/obj/bootstub.panda_h7_hkg_remote.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_hkg_remote_can_ignition_only.bin b/panda/board/obj/bootstub.panda_h7_hkg_remote_can_ignition_only.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_remote.bin b/panda/board/obj/bootstub.panda_h7_remote.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_remote_can_ignition_only.bin b/panda/board/obj/bootstub.panda_h7_remote_can_ignition_only.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_tesla_wake.bin b/panda/board/obj/bootstub.panda_h7_tesla_wake.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_h7_tesla_wake_can_ignition_only.bin b/panda/board/obj/bootstub.panda_h7_tesla_wake_can_ignition_only.bin index 2ccb7255ac5dc14751ffe5c261b3c8454a1e0f47..4a8dc3016081ef82e0d39d481b973198e4f37a4e 100644 GIT binary patch delta 23 fcmeB}%-AuRal=k$jx^I`Q?sOGv&{#ckFx>*Y6%F` delta 23 fcmeB}%-AuRal=k$jwA~M!$ixpw9N;dkFx>*X%Gm} diff --git a/panda/board/obj/bootstub.panda_hkg_remote.bin b/panda/board/obj/bootstub.panda_hkg_remote.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_hkg_remote_can_ignition_only.bin b/panda/board/obj/bootstub.panda_hkg_remote_can_ignition_only.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_remote.bin b/panda/board/obj/bootstub.panda_remote.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_remote_can_ignition_only.bin b/panda/board/obj/bootstub.panda_remote_can_ignition_only.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_tesla_wake.bin b/panda/board/obj/bootstub.panda_tesla_wake.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/bootstub.panda_tesla_wake_can_ignition_only.bin b/panda/board/obj/bootstub.panda_tesla_wake_can_ignition_only.bin index 00da2f015e9f60bedcb89ce40ad29915670a5fbe..82d054986285c753457fc7ecdf08968ab37e0581 100644 GIT binary patch delta 21 dcmZ1xz9M|XMm3H!(_~Y#q-3+rJJsH^003Z22zLMg delta 21 dcmZ1xz9M|XMm3Hk3j@PM%e1u3JJsH^003W82y_4d diff --git a/panda/board/obj/gitversion.h b/panda/board/obj/gitversion.h index 95517cfc43..2d73666e13 100644 --- a/panda/board/obj/gitversion.h +++ b/panda/board/obj/gitversion.h @@ -1,4 +1,4 @@ #pragma once extern const uint8_t gitversion[29]; -const uint8_t gitversion[29] = "DEV-b801a9ff-Pa5919516-DEBUG"; +const uint8_t gitversion[29] = "DEV-f5c56bc6-Pa5919516-DEBUG"; diff --git a/panda/board/obj/panda.bin.signed b/panda/board/obj/panda.bin.signed index 934698f084f23c4a9222ce6ee3418a992c5e799f..843e0b9208d4a802ab54b7b8b50e9708e57971e4 100644 GIT binary patch delta 162 zcmV;T0A2t5_YC~^41k0Iv;vSG2xc{7H8x^nHiwuV0=JkR1LPckhiNr%-6vE-Zp2N% zCc@MK(n4UJY-b*so9vS8%4P6x=&s+Wv(Hqi?cb-Kp#o%LdY=-i)n2u2h`ezvxo$GZ z8(j+{H3J1dBBq(vO+JlU&{07ftlm{K2<^v3Hc4H>X!{AY_0*8@u0O3MDae?nN{HX` Qt|>X#ipO8LUzSG!S`y$*djJ3c delta 162 zcmV;T0A2t5_YC~^41k0Iv;vSG2x2%eF=07oW`~#_0=JkR1LPckxi?7cJXB>l8wBAF z%I2oy8W%@*AF@w}jWBk97A2t02WnJG0xm$$E=NL2n4G?)wBPvN#N+bNt)VEAaq!F& zWQjtpoTG6$tIBOz(EZrK#YDJA+JQxm?JO?fG<892rU@eAM!Q-Dj{h5)2docusih3; QWJ7o3eKHLT9^u^qn+l3bwEzGB diff --git a/panda/board/obj/panda_can_ignition_only.bin.signed b/panda/board/obj/panda_can_ignition_only.bin.signed index 041a62d1b115a6920b48874b8f38c01228da84b4..a2b7a8302344a94bb34e6b85ad7012bf97a4bed2 100644 GIT binary patch delta 162 zcmV;T0A2s!_YC0o41k0Iv;uS<2xc{7H8x^nHivv30=Ik~1LPckhCZ3tno-62X?8O& zZ+m`Iz;&VPe9m#cI(B+kfX;H!N@eVNYD!6C>y9e%=rTx_*nW6O31W-#oUd3Ri@QD|& z^z+442yt1Bd63fm2}G90$U0oME4XJQ3pC^I_2cUTsQJutC%nEX9geVT)&V4K2~?0( Qp*chGz!I4)$j2`MnxT|V?EnA( diff --git a/panda/board/obj/panda_h7.bin.signed b/panda/board/obj/panda_h7.bin.signed index 31c27cf10f9101854d66f3b679baf7594875a8ad..4b6c032221461f15a4fc0b1a13fe570f548fedfa 100644 GIT binary patch delta 162 zcmV;T0A2s&yba{M4S<9Jv;wd{2xc{7H8x^nHix)B0=Kw711uhYT%Dt$wgC%{+cXV5 z*3@~CEh=t0GfFJ>VAmq@`*uqrX{u#9&gc`aSni#5(cd}J!@vBz_2g_<8Y)JJH0+4M zEzUBoP-2AI1|u{&Jg%-@X}3cMq}Bzuse&7N)MAl4S9Lo(*(4rlG-HBIe8gSSXaaKF QB7DhA;K20t&JryF%nI8|oB#j- delta 162 zcmV;T0A2s&yba{M4S<9Jv;wd{2x2%eF=07oW{0>x0=Kw711uhYoW2s2AAYANEx_pH zlO73-mT9PwNwo62qsd&-dh<1b0Y<3%$-Z_;)j!q|j(><<#RvcoLRI6~I;A3PwYkcs zpI8Z#K2qN@hljXfpnT6rL24^tQou_!vcS-6BTv_~L#1XfP3&V7SFoi&WG#>@G%SmD Q&v#K@I&WrO!Q6KN09czzL;wH) diff --git a/panda/board/obj/panda_h7_can_ignition_only.bin.signed b/panda/board/obj/panda_h7_can_ignition_only.bin.signed index 942f53fadd65fb51d15716204a5b551d60576fa7..011ca968cae241620788041965e0236ccedfd7a7 100644 GIT binary patch delta 162 zcmV;T0A2sgyba8}4S<9Jv;vqv2xc{7H8x^nHiw`;0=J+)11uhY7z6oAHh*}ro~S0< zJiv1sQbaXLv%}aMQVhYy9Mj-PNO$uA_y+As8g?gaG+kDWJ{!rQJ5Ag=vzclCN=HjJ zJNLnE4~LW$9y9v-8hE*d4&tPwF39Oo0;nL;LTFUxM0X`msJ3c^?;2ImqVqaVK4*#r QtS6O(%3_v@&ysloSg7wu9{>OV delta 162 zcmV;T0A2sgyba8}4S<9Jv;vqv2x2%eF=07oW{03Z0=J+)11uhYeYJGNt^ybLNLoV6 zM)tYNuz9ai%`pi8%5i28uM0amxch?KOmihq@01o#Sq3CdPp0pIqzqxhg`gQ_j42#! z>Jx~J}!U^bk68LIA7~ac~hI0W=+Tt>S>lM>~-0-{#6&&_0M6g QrQ#Ii@qXp1psVo#5PzafVgLXD diff --git a/panda/board/obj/panda_h7_hkg_remote.bin.signed b/panda/board/obj/panda_h7_hkg_remote.bin.signed index ff5c589de1e9dabb21d0d2e8ec5c600cad6607d8..84f6bee2d303bad783fa7fae8d3f3002fda2175e 100644 GIT binary patch delta 162 zcmV;T0A2sQy$!s*4S<9Jv;qh~2xc{7H8x^nHir;E0=E!A11uhYxqtSA;WiDOcVsYG>EHB&;S4c delta 162 zcmV;T0A2sQy$!s*4S<9Jv;qh~2x2%eF=07oW`__!0=E!A11uhY6*EF&Q>=t4R0@gK zlpI{aa=lLIQYV7?OVk9L1LEqaP!le$ZfxPK(qhjlgPXvbuSpqRaGZEy!)}lm8%Ng1 zIo~aK4ze=*{t4VK$~<(LiOj>l9`lvUdQG!{%3`2{=ezWWB;ZsfpbSIOOuZWjEOQ$~ Qbj3JbqgM(fn>~jCdxW}21poj5 diff --git a/panda/board/obj/panda_h7_hkg_remote_can_ignition_only.bin.signed b/panda/board/obj/panda_h7_hkg_remote_can_ignition_only.bin.signed index 117c1cf2b54516d65e8ecad9edf4ec1ea5b60315..e7399d9d143bf95af4c199d2e298dcd1ec4c0abc 100644 GIT binary patch delta 160 zcmV;R0AK&Cy$!6r4S<9Jv;z1)2xc{7H8x^nHikd~wm<_c9)Dk?%%fF0oMctAdhlGh zz?86)^ym21*z3Z?&fUV0pGF4RC`gsWBtBBHRQr7E_bAj|@NM21P7C*U|A%7L2_epl zkpUGo;mn4x$NwhT)n9~1?!)?NwQ)9XLDKpwPF3@p}9M2~q5w|Gm#%oC_d(&%D=K;uxn| Oi+V}(i2(60dI7y6Ls6Fi diff --git a/panda/board/obj/panda_h7_remote.bin.signed b/panda/board/obj/panda_h7_remote.bin.signed index 9a1ff6067dc70e794ce6276ed08d2b7174a38b3a..e387f68f37f0e2c68e2868f124a01ff1ce710e9f 100644 GIT binary patch delta 162 zcmV;T0A2s&yba{M4S<9Jv;wd{2xc{7H8x^nHix)B0=Kw711uhYMrO1P6=G4W%KJuU z-5YHLqQ0!ZHS@+Z29>^Ka!M!!&oem8xT6*X5|pdCv$CH2&N3KCIYj)5x%GQ`Q3nar zqe9jZ!th7IdXlUkVK`nAhcNTI(!x0=Kw711uhYtzF@iRt;VZrTcVv z*haBOZ6Ry^Ck^xh{tw-a&10rZ@=|to$);%pxY@xtwdyX~D?CtoHuWZX!rxHge18V| zSZ`7IJ-i2M)$AnTvc(T~_HkR-wTgK!-n_X?2ng*)S8wPEx^hCxID^o(YK~#!*AWMw Qe>Jng*bJV{n^Bkno7`zmMF0Q* diff --git a/panda/board/obj/panda_h7_remote_can_ignition_only.bin.signed b/panda/board/obj/panda_h7_remote_can_ignition_only.bin.signed index a3d41073bc13495ee0387952d37836638903f784..e553bd5b612a67b1fb9594cdd4ccc6dd75cd73be 100644 GIT binary patch delta 162 zcmV;T0A2sgyba8}4S<9Jv;vqv2xc{7H8x^nHiw`;0=J+)11uhYVGyGJJCo2_JG))+ z&^w8ud++8EMGM3nGay^&tUb*2F6(0*eObykbkfPA(g%A#rumPcXKecywv>W;%jB~J zTU29-&Tn7YyTRqOVF2afu!#_S0tzS-sxbb7Cvq-3I+Vq8dTvqmG35~-v01Xm10hqR QA2e6u)I7nLvq7N&OME^``v3p{ delta 162 zcmV;T0A2sgyba8}4S<9Jv;vqv2x2%eF=07oW{03Z0=J+)11uhYY(`8oE2P2;Q)GDy zvfzxE)u?7!gifRl4y759ChPkk4H^^>7&MnK{#6ILeY;aHimRWQl!3jbDHo(v<@B)H zU=hRe2f=q^(ob?%tD>xPm?bNGfn#GPh7|%%79A8)k&wr Q;xxBMNyaTu$A+*0a5+*%XaE2J diff --git a/panda/board/obj/panda_h7_tesla_wake.bin.signed b/panda/board/obj/panda_h7_tesla_wake.bin.signed index 3d935aa65a9ef182bac502eb8a55d43d2e54cf1d..2faac13ac61c780067d5542b7113acf972869034 100644 GIT binary patch delta 162 zcmV;T0A2s=y$$TW4S<9Jv;s6h2xc{7H8x^nHitYw0=GOs127(cpd{k(G9tiLv{L6| z>^l1r=iT-c^TDkI){d5q^i*uz0Sx&EB3^R+nRE{NP+7_Jwn@L$W81adh*{v~jH%X8 zfl9#^mc%pdu9hUp$bSmJR-##Ow>OGi|}hBBGw!+K}0h z;=J?+fe=|}w(OW-hwqrNn)(<~8}4lSSfZ`rU`X&~N~_35mO3fkFanK^C9h}!t7?4m zQlQ^x7Vk%KQcYW*RYlxBsb*zUlDR-|Jtl6x3TOtFKhc3O3WL1*;|yVC>F+fLA9J zn)iJY?KemZb_BGwLr)S{P1izZ%?!^9kq^dksvYSfi1I>ow*W2o1A8^D`!A}Yw6=o`af_JMO3eypJU+`3BgRnJe*9!9MJJN>guxBvhE diff --git a/panda/board/obj/panda_hkg_remote.bin.signed b/panda/board/obj/panda_hkg_remote.bin.signed index cc8fb4128772d25321ca611831d6e4f70517c00e..984f1a54be2dd78241ebb2b765eb663119fd4ef0 100644 GIT binary patch delta 162 zcmV;T0A2sU_zb}K41k0Iv;x!~2xc{7H8x^nHiz6E0=L{A1LPckwT?Q_0<%A?FT~$t zay9p{D*pM>Rl!TthboyuQc4OE^Yb~#n0$IF$j#|dg&zyh-vU<1w4^{C=SsBdz3(tOD|E*J3wA5OfS_5B?Ivk>3L} QE)uvLZK}XguI7aSab?#{FaQ7m delta 162 zcmV;T0A2sU_zb}K41k0Iv;x!~2x2%eF=07oW{2D!0=L{A1LPckM2E>fT*T!H%ojV(G!S8Wo zg7YZjg#hEaIe*z95!=N3LebtdbQs!EPWE9^QOV~N#h)t;lRfrD70d&XSiKJiH@PfP zfs#td6HL7+ASY+RAl62D?J9&hgL~d`G8|MGS7#-|9HMgh{}@LkcyN?i(VrJcV2z^< Q4X+Gc$DWut5YO8Iu~{ERHvj+t diff --git a/panda/board/obj/panda_remote.bin.signed b/panda/board/obj/panda_remote.bin.signed index 97380efbbce2fc96154c69cf16e4993353d782e8..c8a1caa521c4d520292890731be1d13dc6e01945 100644 GIT binary patch delta 162 zcmV;T0A2t1_YC;=41k0Iv;vGC2xc{7H8x^nHiwiR0=JYN1LPckopucN!?QXJtVyL` zV0}b#V;QR(o#A`5WlSFX^A$3SwY>At5Faf-wxp};hBC3?NmgtQE{d*|$w&#b%iEX! zEFw^2#Rr@l9Hldu@lTetElp7(FM9BfkGA`3oIT4|`^0?InU4~cjD7Gxcqgki4w!Y- Q9rHBs7?W~k0ds8u9#k$$fdBvi delta 162 zcmV;T0A2t1_YC;=41k0Iv;vGC2x2%eF=07oW`~p>0=JYN1LPck60x z*YGHsS{c+0`6lam&(;Q`ncVf$C)d2l^~K0w3?+r6iG$y>s#G|2gXhU4ZieTcjPun0ZT>n@)e9%ibGu)M?vS9`bH^VkhPOs1$y{33n zpLGeyhA7xcQgI?hZVT|W<*X0yJI&L Q6EyFa33MIT9T%Aawa;5aEdT%j delta 162 zcmV;T0A2sw_YB{SC1B*9-|sAY z(E~quZ6D|#qp_$LKMe?Bt?|sCM7rrk!?K;=XEe9vnD|%>X<{9 diff --git a/panda/board/obj/panda_tesla_wake.bin.signed b/panda/board/obj/panda_tesla_wake.bin.signed index 8e07a48b88c0b80cff29cf7e1cb78c51960dce37..8b9a2867a4c80019d58c7cf846581273e6335c79 100644 GIT binary patch delta 161 zcmV;S0ABy__zdv)41k0IqyirZW;J6qHezEohX@}6w+J5t=p28xF5GfUb!A*74|7h& zONV{rmT>#&8c#fA(l=_bKrKvTH2b!mLJ4U|8!*~=HWsd0P;TOpX+=({^#45_dA0)2 znxvL)3^-*}-A4nCiM4QyNJy%a(H7h_ufq#=JRprT__J0ajiYnMB%`P)k)Uy>XFzU; PY6;;D9*~x%Rnh^bO(I3T delta 161 zcmV;S0ABy__zdv)41k0IqyirZVmL4{VL4`IhX@}6w+J5t=p28RoRkqMn2xPo%jA8)~XlG2t diff --git a/panda/board/obj/panda_tesla_wake_can_ignition_only.bin.signed b/panda/board/obj/panda_tesla_wake_can_ignition_only.bin.signed index 344531b84560feb682beed80a983c22b149015f4..923bf25ac9857d56bcdc48bace9f48308b69e6bd 100644 GIT binary patch delta 162 zcmV;T0A2ss_zc+i41k0Iv;ycJ2xc{7H8x^nHiz&Y0=MuU1Lz!oB2^&IqyL*L#l&5H z0My!B(aPdBV?Q`elabS*Y^Sj2rfWi4SK`;`Y4rq`j4=^;vWXUyp)8f9M8B;OVP%0DC zWsBQseTF!3NCYD9D#WJ1U)JbtH85I>?~Kf_{c^Uj9&-Tx(*YeqDb9bBx=zrBzp@=8 Q0HxKEf#=XZy;4j88XTfXQvd(} diff --git a/panda/board/obj/version b/panda/board/obj/version index 30554590b0..a66dbc6c49 100644 --- a/panda/board/obj/version +++ b/panda/board/obj/version @@ -1 +1 @@ -DEV-b801a9ff-Pa5919516-DEBUG \ No newline at end of file +DEV-f5c56bc6-Pa5919516-DEBUG \ No newline at end of file diff --git a/prebuilt.json b/prebuilt.json index 5c42546ee5..dfc54ff156 100644 --- a/prebuilt.json +++ b/prebuilt.json @@ -1 +1 @@ -{"protected_inventory_sha256": "9b259c55514b8cf5252b446c2c5cc86a54ea8b5a0f1c96051d1d62a246f6925c", "schema_version": 1} +{"protected_inventory_sha256": "23eb8ec0d9676659952f89c82345db44e06c571b698fdf2d04f2bbfdf94ad8ef", "schema_version": 1}